16,471
社区成员
发帖
与我相关
我的任务
分享
[StructLayout(LayoutKind.Sequential)]
public struct _READ_DATA
{
public int Length;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
public byte[] Data;
}
int Size = Marshal.SizeOf(typeof(_READ_DATA));
IntPtr ptrData = Marshal.AllocHGlobal(3 * Size);
if (_ReadData(_basecpp, ptrData))
{
byte[][] d = new byte[3][];
for (int i = 0; i < d.Length;++i)
{
var data = (_READ_DATA)Marshal.PtrToStructure(ptrData + i * Size, typeof(_READ_DATA));
d[i] = new byte[data.Length];
Array.Copy(data.Data, d[i], d[i].Length);
}
return d;
}
WORD WINAPI MAG_Read(char *pIn, char *pOut)
{
T_EW_IPC_MAGCARD_TRACK_INFO tMagCardTrackInfo[3];
int ret,i;
ret=GetMagnet(tMagCardTrackInfo);
for(int j=0;j<3;j++)
{
for ( i = 0; i < 10; i++ ) {
tMagCardTrackInfo[j].ucData[i]= 0x12;
}
}
memcpy(pOut,tMagCardTrackInfo,sizeof(T_EW_IPC_MAGCARD_TRACK_INFO)*3);
}
char *pOut = new char[1024];
memset(pOut,0,1024);
WORD_MAG_READ(pIn,pOut);
WORD WORD_MAG_READ(char *pIn,char *pOut)
{
...
memcpy(pOut,track,sizeof(T_EW_IPC_MAGCARD_TRACK_INFO)*3);
}