0
我发现了大量关于如何在网络上编组和wchar*
的信息,但现在我正试图编组WINBIO_STRING
类型,其定义为wchar[256]
。将它编组为char[]
的数组,但是然后阵列中的每个其他元素都是\0
,我想避免这种情况。有没有一种更合适的方式来封送这些数据(这是一个结构的成员,特别是WINBIO_UNIT_SCHEMA
结构体)。这是我的代码:如何编组wchar []
[StructLayout(LayoutKind.Sequential)]
public struct BiometricUnitSchema
{
public int UnitId;
public BiometricPoolType PoolType;
public BiometricType BiometricFactor;
public BiometricSubtype SensorSubType;
public BiometricCapabilities Capabilities;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
public char[] DeviceInstanceId;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
public char[] Description;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
public char[] Manufacturer;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
public char[] Model;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
public char[] SerialNumber;
public BiometricVersion FirmwareVersion;
}
我也始终包含0 MajorVersion和MinorVersion值FirmwareVersion领域的问题,但我不知道这结果不正确或只是误导。