アクセス制御装置(端末)を扱っています。APIはネイティブです。データをデバイスに送信するには、(API によって指定された) 構造体をインスタンス化し、[Marshal.StructureToPtr] を使用して IntPtr に変更し、そのポインターを API 関数に渡します。ここに私が取り組んでいる構造体があります。
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NameOfTheStruct
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
ushort[] event;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
ushort[] someName;
};
問題は、指定された構造体のメンバー名が [event] キーワードと重複していることです。メンバー名を変更すると、ネイティブ API への関数呼び出しが失敗すると思います。
これは:
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
[ComAliasName("event")]
ushort[] eventName;
私の問題を解決しますか?または、他の解決策はありますか?