serving 2017-07-19 03:17
浏览 1492

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中创建了该结构体的类。
这种情况怎么解决?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 一道python难题2
    • ¥15 一道python难题
    • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
    • ¥15 牛顿斯科特系数表表示
    • ¥15 arduino 步进电机
    • ¥20 程序进入HardFault_Handler
    • ¥15 oracle集群安装出bug
    • ¥15 关于#python#的问题:自动化测试
    • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
    • ¥15 教务系统账号被盗号如何追溯设备