【KEIAN】KTV-FSUSB2/FSPCIE総合 45

このエントリーをはてなブックマークに追加
225144
先日FSUSB2とBonDriver付属のwinscard.dllで書き込み成功したと書き込んだものです。

とりあえず、書き込み方法としては、
・実行バイナリと同じディレクトリにBonDriver付属のwinscard.dllを置いておく
・「管理ツール」→「サービス」から「Smart Card」 サービスを開始しておく
・ツール等をFSUSB2用に改造する
の3つが必要になります。(ものによっては上2つだけでも動作します)

ツール改造のポイントとしては
・FSUSB2用のwinscard.dllにSCardFreeMemoryの実装が無いのでコメントアウト
・コマンドによって、SCardTransmitがエラーコード(SCARD_F_COMM_ERROR)を返してくるが、レスポンスで「90 00」を返してくる時は実際のコマンド送受信は成功しているようなので、戻り値のエラーコードを無視して処理を続ける
・ブロックデータの書き込み(UPDATE BINARY)や読み込み(READ BINARY)はサイズが大きいと失敗するようなので、一括処理をやめて64バイト程度での分割処理に変更する
です。

私の場合は、バックアップ・リストアツールの改造を試みましたが、VS2010 Express版ではMFC絡みのビルドができなかった為、.NET移植版を作成してFSUSB2向けに改造して動作させました。
確認ツールの方は無改造でおkだったので、この2つでいけました。

作ったものは以下の場所に置いておきますので参考にしてみてください。使用する場合は自己責任でおねがいします。
ttp://www5.puny.jp/uploader/download/1337854998.zip
しばらくしたら消しますのでお早めにどうぞ

>>153
限界値は調べていませんが128バイト程度の読み込みでも失敗するようです。とりあえず安全をみて64バイトでやってます。

>>201
winscard.dllのバグなんでしょうね。本来であればそちらを修正するのが筋なのですがね。