定义Java类作为dll函数中的参数
public class VciCanObj extends Structure {
public long ID;
public long TimeStamp;
public byte TimeFlag;
public byte SendType;
public byte RemoteFlag;
public byte ExternFlag;
public byte DataLen;
public byte[] Data;
public byte[] Reserved;
public VciCanObj(long ID, long timeStamp, byte timeFlag, byte sendType, byte remoteFlag, byte externFlag, byte dataLen, byte[] data, byte[] reserved) {
this.ID = ID;
TimeStamp = timeStamp;
TimeFlag = timeFlag;
SendType = sendType;
RemoteFlag = remoteFlag;
ExternFlag = externFlag;
DataLen = dataLen;
Data = data;
Reserved = reserved;
}
}
调用函数
this.dllDemo.VCI_Transmit(VCI_USBCAN2, 0, 0, vciCanObj.getPointer(), 1);
调用dll使用jna的方式