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領域的問題,但我不知道這結果不正確或只是誤導。