【发布时间】:2009-08-28 05:28:31
【问题描述】:
我有一个结构
public struct SERVER_USB_DEVICE
{
USB_HWID usbHWID;
byte status;
bool bExcludeDevice;
bool bSharedManually;
ulong ulDeviceId;
ulong ulClientAddr;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
string usbDeviceDescr;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
string locationInfo;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
string nickName;
}
我收到以下错误
System.ArgumentException 未处理 消息="类型'SERVER_USB_DEVICE' 不能被编组为非托管 结构体;没有有意义的大小或 可以计算偏移量。”
在下一行
Marshal.SizeOf(typeof(USBOverNetWrapper.FT_SERVER_USB_DEVICE));
代码有什么问题?
阿卜杜勒·哈利克
【问题讨论】:
-
向我们展示你的结构的属性。
标签: c# marshalling structure sizeof