我有一个结构:
typedef struct _wfs_bcr_caps
{
WORD wClass;
BOOL bCompound;
BOOL bCanFilterSymbologies;
LPUSHORT lpwSymbologies;
DWORD dwGuidLights[32];
LPSTR lpszExtra;
BOOL bPowerSaveControl;
BOOL bAntiFraudModule;
}
我需要在C#中正确复制此结构。
但是我对LPUSHORT类型有疑问。有人可以帮我为lpwSymbologies属性设置正确的元帅属性吗?
答案 0 :(得分:0)
LPUSHORT
只是指向ushort
值的长指针。您可以将其作为IntPtr
封送,然后使用Marshal.ReadInt16
或Marshal.ReadInt32
读取一个值(因为您使用的是无符号short)。非托管到托管类型转换表中的here描述了另一个选项,例如将LP<struct>
转换为[In] ref <struct>