67,549
社区成员




出错函数原型:public int Syn_ReadMsg(int iPort, int iIfOpen, CardData pINCardData);
调用如下:SynIDCardAPI.INSTANCE.Syn_ReadMsg(0, 0, idcardData);//idcardData为CardData
导入的DLL语句:SynIDCardAPI INSTANCE = (SynIDCardAPI)Native.loadLibrary("E:\\SynIDCardAPI", SynIDCardAPI.class);
DLL中C++声明:int _stdcall Syn_ReadMsg( int iPort,int iIfOpen,IDCardData *pIDCardData );
public class CardData entend Structure{
}
typedef struct tagIDCardData{
char Name[32];
char Sex[6];
char Nation[20];
char Born[18];
char Address[72];
char IDCardNo[38];
char GrantDept[32];
char UserLifeBegin[18];
char UserLifeEnd[18];
char reserved[38];
char PhotoFileName[255];
}IDCardData;
public class CardData {
public byte[] name;
public byte[] sex;
public byte[] nation;
public byte[] born;
public byte[] address;
public byte[] idCardNo;
public byte[] grantDept;
public byte[] userLifeBegin;
public byte[] userLifeEnd;
public byte[] reserved;
public byte[] photoFileName;
public CardData(){
name=new byte[32];
sex=new byte[6];
nation=new byte[20];
born=new byte[18];
address=new byte[72];
idCardNo=new byte[38];
grantDept=new byte[32];
userLifeBegin=new byte[18];
userLifeEnd=new byte[18];
reserved=new byte[38];
photoFileName=new byte[255];
}
}