API version 16
iOSAndroidWindows
説明 |
Mifare Classicタグに対し、指定ブロックの値をデクリメントしてカード内の一時バッファに保存します。 この操作はValue Block形式のブロックに対して有効です。
一時バッファの内容は、Mifare_Transferメソッドでカードに反映されます。
詳細はMifare Classicのドキュメントなどを参照してください。
|
|
呼出形式 |
nfc.Mifare_Decrement( blockIndex , value)
|
|
戻り値 |
なし
|
|
引数 |
Integer blockIndex |
0から開始する、操作対象のブロックのインデックスを指定します。 |
|
Integer value |
デクリメントする数を指定します。0以上である必要があります。
|
例外 |
FUNC-4 |
引数が不正です。 |
|
RTM-50 |
NFCタグへのアクセスに失敗しました。 |
|
RTM-85 |
Mifare Classicコマンドの発行に失敗しました。
|
使用例 |
var nfc = null; try { nfc = Runtime.DiscoverNfcTag("Mifare Classicのカードをかざしてください"); } catch(e) { MessageBox("NFCタグ探索失敗"); return; } if(!nfc.IsMifareClassicTag) { nfc.Close(false, "Mifare Classic以外のタグが読み取られました"); return; } try { nfc.SetMessage("接続済"); var key = new ByteArray(0,1,2,3,4,5); /* 1番目のセクタに対しKeyAで認証を行う*/ nfc.Mifare_AuthenticateSectorWithKeyA(1,NfcTagConnection.MIFARE_KEY_USER,key); /* 1番目のセクタの先頭ブロックをデクリメントする*/ var blockIndex = nfc.Mifare_SectorToBlock(1); nfc.Mifare_Decrement(blockIndex, 2); /* 一時バッファの内容をカードに転送する*/ nfc.Mifare_Transfer(blockIndex); /* NFCとの通信を終了 */ nfc.Close(true, "書込終了"); } catch(e) { nfc.Close(false, "書込エラー"); }
|
|
関連項目 |
Mifare_AuthenticateSectorWithKeyA、Mifare_AuthenticateSectorWithKeyB、 |