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);
}