API version 30
iOSAndroidWindows
説明 |
ISO-DEPタグに対して、SELECT FILEコマンドを送信します。 詳細はISO-DEP(ISO 14443-4)のドキュメントなどを参照してください。
タグと接続した直後のカレントファイルはOSによって異なる場合があります。 そのため、データの読み取りなどを行う前に本メソッドでMFを選択してください。 iOS版
|
|
呼出形式 |
var responseAPDU = nfc.IsoDep_SelectFile( p1, p2 [, dataField [, le [, cla]]] );
|
|
戻り値 |
NFCタグから受信したレスポンスAPDUをByteArrayオブジェクトで返します。
|
|
引数 |
Integer p1 |
コマンドのパラメータを0-255の範囲で指定します。 負の値や256以上を指定すると例外FUNC-4が発生します。
|
|
Integer p2 |
コマンドのパラメータを0-255の範囲で指定します。 負の値や256以上を指定すると例外FUNC-4が発生します。
|
|
ByteArray dataField |
コマンドの追加データをByteArrayで指定します。
|
|
Integer le |
レスポンスのデータフィールドのバイト長を1から65536までの範囲で指定します。 0以下の値や65537以上を指定すると例外FUNC-4が発生します。 レスポンスのデータ長はleで指定したバイト長+2byte(ステータスコード)となります。 省略した場合、レスポンスにデータフィールドは含まれません。 |
|
Integer cla |
コマンドのクラスを0-255の範囲で指定します。 省略した場合は0になります。 負の値や256以上を指定すると例外FUNC-4が発生します。
|
例外 |
FUNC-4 |
引数が不正です。 |
|
RTM-88 |
ISO-DEPコマンドの発行に失敗しました。
|
使用例 |
var nfc = null; try { nfc = Runtime.DiscoverNfcTag("NFC Type-A/Type-Bのカードをかざしてください"); } catch(e) { MessageBox("NFCタグ探索失敗"); return; } if(!nfc.IsIsoDepTag) { nfc.Close(false, "NFC Type-A/Type-B以外のタグが読み取られました"); return; } try { nfc.SetMessage("接続済"); /* 更新対象を選択します */ nfc.IsoDep_SelectFile(0x00, 0x00, new byteArray(0xE1, 0x04)); /* UPDATE BINARYコマンドを送信して、バイナリブロックを更新します */ nfc.IsoDep_UpdateBinary(0x00, 0x00, new byteArray(0xFF, 0xFE, 0xFD)); /* 更新結果を読み取ります */ var response = nfc.IsoDep_ReadBinary(0x00, 0x00, 3); /* NFCとの通信を終了 */ nfc.Close(true, "書込終了"); //.MessageBox(response.ToHexString()); /* FF FE FD 90 00 */ } catch(e) { nfc.Close(false, "書込エラー"); }
|
|
関連項目 |