java调用外部dll文件参数映射

//定义初始化CAN的数据类型
typedef struct _VCI_INIT_CONFIG{
DWORD AccCode;
DWORD AccMask;
DWORD Reserved;
UCHAR Filter;
UCHAR Timing0;

UCHAR Timing1;

UCHAR Mode;
}VCI_INIT_CONFIG,*PVCI_INIT_CONFIG;
//头文件中定义的函数
EXTERNC DWORD __stdcall VCI_OpenDevice(DWORD DeviceType,DWORD DeviceInd,DWORD Reserved);
EXTERNC DWORD __stdcall VCI_CloseDevice(DWORD DeviceType,DWORD DeviceInd);
EXTERNC DWORD __stdcall VCI_InitCAN(DWORD DeviceType, DWORD DeviceInd, DWORD CANInd, PVCI_INIT_CONFIG pInitConfig);

项目是类似can逻辑分析仪,dll文件是周立功提供的。
java中使用jna的方法调用外部dll文件中的函数,能正确调用VCI_OpenDevice与VCI_CloseDevice两个函数。但是调用VCI_InitCAN这个函数时,报参数传入错误异常。针对这个形参有一个结构体,我在java中创建了该结构体的类。
这种情况怎么解决?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问