首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VC >

请问一个C# 向C++封送的有关问题

2013-04-20 
请教一个C#向C++封送的问题public struct SXPSERVER{[MarshalAs(UnmanagedType.ByValArray, SizeConst6)]

请教一个C# 向C++封送的问题

   public struct SXPSERVER
        {
           [MarshalAs(UnmanagedType.ByValArray, SizeConst=6)] 
           public  byte [] bNodeaddr;
           public uint dwIp;//IP地址
           [MarshalAs(UnmanagedType.ByValArray, SizeConst=16)]
           public Char[] szMachineType;
        }
C#里定义的结构
SxuptpEnumDeviceServers(dwBroadcast, 2, &gsxsrv,
(sizeof(SXPSERVER) * MAX_PSERVER), &dwReaded, &dwReturned) == FALSE
C++里函数  &gsxsrv定义为SXPSERVER gsxsrv[16]  请问我C#里如何封送结构体数组进去? c++ c# 封送
[解决办法]
本帖最后由 hdt 于 2013-04-03 14:23:54 编辑 Marshal.UnsafeAddrOfPinnedArrayElement 
[解决办法]
 SXPSERVER[] temp = new  SXPSERVER[16];
 IntPtr ptr = UnsafeAddrOfPinnedArrayElement(temp,0);
然后把这个Ptr传过去

热点排行