请问一下C++变量对应的问题
清澈如湖 2018-03-21 05:41:08 因为业务需要调用C++的dll文件
C++中的
接口文档如下:
int __stdcall GetBasicInfo_V4(HANDLE icdev,_Basic_Info_V4 &BasicInfo,unsigned
long &CardSN);
结构体如下:
Type Basic_Info
SerialNo As Long '流水号
ValidateTime As String * 7 '失效日
IdentityCard As String * 19
ICCardNo As String * 13
name As String * 17
Gender As Byte
End Type
我这边这样子定义:
public struct Basic_Info
{
public int SerialNo; //流水号
public string[] ValidateTime; //失效日
public string[] IdentityCard;
public string[] ICCardNo;
public string[] name;
public byte Gender;
}
调用:
Basic_Info BasicInfo = new Basic_Info();
BasicInfo.SerialNo = 0;
BasicInfo.ValidateTime = new string[7];
BasicInfo.IdentityCard = new string[19];
BasicInfo.ICCardNo = new string[13];
BasicInfo.name = new string[17];
BasicInfo.Gender = new byte();
ulong CardSN = 0;
int s = GetBasicInfo_V4(icdev, ref BasicInfo, ref CardSN);
会报错:
尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
请问一下这个结构体我应该怎么定义,分不多,还请大虾指点。