jna-JNA调用C/C++的方法,怎么调用下面的方法?

问题描述

JNA调用C/C++的方法,怎么调用下面的方法?

BOOL NET_DVR_PlayBackControl_V40(
LONG lPlayHandle,
DWORD dwControlCode,
LPVOID lpInBuffer,
DWORD dwInLen,
LPVOID lpOutBuffer,
DWORD *lpOutLen
);
上面是C++/C 中的方法,其中倒数第2和倒数第4个参数,API上介绍说是指针。
我在调用这个方法的时候第4个参数要求要的数据如下:
NET_DVR_COMPRESSION_INFO_V30 lpInBuffer=new NET_DVR_COMPRESSION_INFO_V30();//在C/C++中对应一个结构体。
lpInBuffer.byStreamType=0;
lpInBuffer.byVideoEncType=1;
lpInBuffer.byFormatType=1;

0*****************************************************

boolean NET_DVR_PlayBackControl_V40(NativeLong lPlayHandle, int dwControlCode, ?,?,?,?);

在java中我声明该C++方法的接口如上,但是我不知道4个问号的地方应该设置声明参数???????????????????????
请回JNA的大神指点。

解决方案

 public class Dll {
      public interface TestJnaLib extends Library
      {
          TestJnaLib INSTANCE = (TestJnaLib)Native.loadLibrary("DLL.dll", TestJnaLib.class);
          int add(int first, int second);
      }
      public static void main(String[] args) {

        TestJnaLib.INSTANCE.add(23, 34);
           }
时间: 2024-09-11 10:12:17

jna-JNA调用C/C++的方法,怎么调用下面的方法?的相关文章

关于在同控制器中方法中调用没有权限的方法的提问

问题描述 关于在同控制器中方法中调用没有权限的方法的提问 Index 控制器中,我写了一个有权限的A方法,然后我又写了一个我没有权限B方法,当我在A方法中用 $this->B(); 时,居然在A方法中能够接收到 B中 return 出来的值 跪求解答 解决方案 YII 如何在控制器里调用 model 方法YII 如何在控制器里调用 model 方法

VB.NET中使用代表对方法异步调用

异步 按照我们常规的思维方式,计算机应该是干完一件事,然后再干下一件.用术语来说,这种执行任务的方式叫做同步执行(Synchronous Execution).既然这样,那么为什么要引入异步执行的概念呢? 目录 为什么要使用异步调用实现异步调用的步骤和机理 为什么要使用异步调用(Asynchronous Method Execution) 按照我们常规的思维方式,计算机应该是干完一件事,然后再干下一件.用术语来说,这种执行任务的方式叫做同步执行(Synchronous Execution).既然

Groovy探索之MOP 十二 方法的调用顺序

我们知道,除了使用hook来拦截方法以外,我们还可以通过各种方式来实现方法.如,我们可以在类里直接实现方法:我们可以通过ExpandoMetaClass在运行期内添加方法:我们还可以通过ExpandoMetaClass在运行期内单独给一个对象添加方法. 所有的这些直接添加方法的途径,如果存在hook的话,都是要被hook拦截的.所以,我们可以说,系统是优先调用hook的. 而hook的调用顺序,我们在上一篇<Groovy探索之MOP 十一 运行期内覆盖invokeMethod>已经谈到过了.

Android调用系统相机拍照保存以及调用系统相册的方法

系统已经有的东西,如果我们没有新的需求的话,直接调用是最直接的.下面讲讲调用系统相机拍照并保 存图片和如何调用系统相册的方法. 首先看看调用系统相机的核心方法: Intent camera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(camera, 100); 相机返回的数据通过下面的回调方法取得,并处理 @Override protected void onActivityResult(int re

JAVA基础培训(2) 熟悉方法的调用

我们上一个只用直接的输出语句,打印出可Hello World 查看复制到剪切板打印 System.out.println("Hello World!"); 这里我们讲使用方法,来实现输出这个 Hello World的功能.我们先看代码. 查看复制到剪切板打印 // package 影响到你的类存储目录和访问方式 // 这个课程2,我们使用了lession2,对应的目录也是 // E:\javalession\base\src\lession2 package lession2; /**

c#方法中调用参数的值传递方式和引用传递方式以及ref与out的区别深入解析

以下是对c#方法中调用参数的值传递方式和引用传递方式,以及ref与out的区进行了详细的分析介绍,需要的朋友可以过来参考下   复制代码 代码如下: #define Test using System; namespace Wrox.ProCSharp.ParameterTestSample ...{  class ParemeterTest  ...{     static void TestInt(int[] ints,int i)     ...{         ints[0] = 10

shiro不执行认证方法 不调用自定义的doGetAuthenticationInfo方法

问题描述 shiro不执行认证方法 不调用自定义的doGetAuthenticationInfo方法 在访问认证路径时 String exceptionClassName = (String) request.getAttribute(""shiroLoginFailure""); 在这直接路过 不去调用自定的realm 解决方案 http://www.oschina.net/question/273295_105031

java继承-关于Java继承的问题,方法的调用

问题描述 关于Java继承的问题,方法的调用 在下面这个程序中, class Person{ private void print(){ System.out.println("Person>void print"); } public void fun(){ this.print(); } }; class Student extends Person{ void print(){ System.out.println(" Student >void print

servlet-java web无法调用含有@WebServlet(&amp;amp;quot;&amp;amp;quot;)的java方法

问题描述 java web无法调用含有@WebServlet("")的java方法 我想问一下,我这样要怎么才能调用src里包里的java方法? web.xml: <?xml version=""1.0"" encoding=""UTF-8""?><web-app xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance

php-PHP怎么请求soap。其中要调用的那个方法的参数是这个方法的对象参数。到底该怎么调用

问题描述 PHP怎么请求soap.其中要调用的那个方法的参数是这个方法的对象参数.到底该怎么调用 且我用__getFunctions获取到要调用的方法是PayResponse Pay(Pay $parameters).我试了好几次都报错,报:Object reference not set to an instance of an objec.请问该PayResponse Pay(Pay $parameters)方法怎么用PHP的soap请求调用.希望详细点. 解决方案 用httprequest