現在、ISO 15693 周辺 RFID カード (TI Tag-it HF) から 1 つのセキュリティ ステータス/ブロックを読み取る既存の SCardTransmit() コマンド (C#) を、64 ブロックすべてのセキュリティ ステータスを取得するコマンドに変更しようとしています。カード。既存のコードは次のとおりです。
Byte[] sendHeader = { 0xFF, 0x30, 0x00, 0x03, 0x05, 0x01, 0x00, 0x00, 0x00, Convert.ToByte(blockNum), 0x01 };
Byte[] sendBuffer = new Byte[255]; //Send Buffer in SCardTransmit
int sendbufferlen; //Send Buffer length in SCardTransmit
SmartCardData pack = new SmartCardData();
sendHeader.CopyTo(sendBuffer, 0);
sendbufferlen = Convert.ToByte(sendHeader.Length);
SCardTransmitReceived rxBuf = SmartCardTransmit(sendBuffer, sendbufferlen);
私の理解では、Convert.ToByte(blockNum) の前のバイトは、セキュリティ ステータスを取得するコマンドを表し、その後に問題のブロックと、読み取るブロックの数が続きます。セキュリティ ステータスの読み取りに関して私が見た唯一の参照は、「非接触型スマート カード リーダー開発ガイド」のセクション 10.3.4 にあります。
注: SmartCardTransmit は、正しいカード ハンドルとその他の必要なパラメーターを使用して SCardTransmit を呼び出します。セキュリティ ブロック 0 ~ 63 の要求を表す送信ヘッダーの形式に興味があります。