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条回答

    报告相同问题?

    悬赏问题

    • ¥100 有人会搭建GPT-J-6B框架吗?有偿
    • ¥15 求差集那个函数有问题,有无佬可以解决
    • ¥15 【提问】基于Invest的水源涵养
    • ¥20 微信网友居然可以通过vx号找到我绑的手机号
    • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
    • ¥15 解riccati方程组
    • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
    • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
    • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
    • ¥50 树莓派安卓APK系统签名