程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> jna-JNA調用C/C++的方法,怎麼調用下面的方法?

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);
           }
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved