问题描述
C机构体:typedefstruct_UDP_DEVINFOBLOCK_PC{unsignedshortusDeviceType;unsignedcharucIP[4];unsignedcharucMAC[6];unsignedcharucInfo[256];_UDP_DEVINFOBLOCK_PC*pNext;}UDP_DEVINFOBLOCK_PC,*LPUDP_DEVINFOBLOCK_PC;SOCKETRF620_Connect(UDP_DEVINFOBLOCK_PC*);C#调用:[StructLayout(LayoutKind.Sequential)]publicstruct_UDP_DEVINFOBLOCK_PC//internal{[MarshalAs(UnmanagedType.U2)]publicushortusDeviceType;[MarshalAs(UnmanagedType.ByValArray,SizeConst=4)]publicbyte[]ucIP;[MarshalAs(UnmanagedType.ByValArray,SizeConst=6)]publicbyte[]ucMAC;[MarshalAs(UnmanagedType.ByValArray,SizeConst=256)]publicbyte[]ucInfo;publicIntPtrpNext;};[DllImport("rf620LanLib.dll")]publicstaticexternSocketRF620_Connect(ref_UDP_DEVINFOBLOCK_PCUDP_DEVINFOBLOCK_PC);public_UDP_DEVINFOBLOCK_PCUDP_DEVINFOBLOCK_PC1;///////UDP_DEVINFOBLOCK_PC1.usDeviceType=0;UDP_DEVINFOBLOCK_PC1.ucIP=newbyte[4]{192,168,0,1};UDP_DEVINFOBLOCK_PC1.ucMAC=newbyte[6]{1,1,1,1,1,1};UDP_DEVINFOBLOCK_PC1.ucInfo=newbyte[256];UDP_DEVINFOBLOCK_PC1.pNext=(IntPtr)(0);for(i=0;i<256;i++){UDP_DEVINFOBLOCK_PC1.ucInfo[i]=0;}//////sRF620=AP620.RF620_Connect(refUDP_DEVINFOBLOCK_PC1);////总是在这里报错
解决方案
解决方案二:
我去,你也不把个错误提示贴出来,public_UDP_DEVINFOBLOCK_PCUDP_DEVINFOBLOCK_PC1;这里要New的,不new就没有空间