0
我有问题。这是C的结构定义:包含参考类型/数组的编组结构
typedef struct _UNIMDM_CHG_DEVCFG {
DWORD dwCommand;
LPCWSTR lpszDeviceClass;
LPVARSTRING lpDeviceConfig;
DWORD dwOption;
DWORD dwValue;
} UNIMDM_CHG_DEVCFG;
我在Windows CE上使用.NET Compact Framework 3.5。我尝试过很多办法元帅这种结构中,例如:
[StructLayout(LayoutKind.Sequential)]
internal struct UnimodemChangeDeviceConfiguration
{
public int dwCommand;
public byte[] lpszDeviceClass;
public byte[] lpDeviceConfig;
public int dwOption;
public int dwValue;
}
的问题是这种结构的一个实例调用Marshal.SizeOf时,它会引发NotSupportedException。为什么?我尝试使用字符串为lpszDeviceClass,但又有问题。看来指针类型不能被封送。
我看了一下,但这个班级写得不对。我自己写了一个,它很有用。问题是在其他实现中,LPVARSTRING直接转发给函数(而不是结构的一部分)。 – Bogi