gtop11dotnet.dllがあります。これは、GemaltoWebサイトの.NETPKCS#11 Library forWindowsv2.2.0.9です。DLLには、スマートカードのシリアル番号またはGUIDを取得するために使用できるC_GetCardPropertyメソッドが含まれています。PKCS#11ユーザーズガイドおよび.NET統合ガイドによると、これは「byte [] GetCardProperty(byte property、byteflags)」です。パラメータとして2バイトを受け取り、バイト配列の形式でシリアル番号やGUIDなどを取得します。私の質問は、シリアル番号を取得して管理対象バイト配列に格納する方法です。
これが私の試みです:
[DllImport("gtop11dotnet.dll")]
public static extern byte[] C_GetCardProperty(byte property, byte flags);
public static void Main()
{
byte[] bytes = new byte[12];
bytes = C_GetCardProperty(0x06, 0x00) //Error at this line -> Cannot marshal 'return value': Invalid managed/unmanaged type combination.
}
助けてくれてありがとう。