タグ

ブックマーク / enjoy-rfid.blogspot.com (2)

  • PC/SCに潜む謎 その2

    前回の(1年以上前ですが)「PC/SCに潜む謎」の続編です。実は何気にこのエントリーが一番アクセスが多いです。前回は PC/SC のコマンドがカードに対して投げるものであって、リーダに投げるものではないというお話でした。 しかしそう、あったんです。リーダに投げる方法がぁ!(騒いでるのは私だけです) SCardConnect の際に ShareMode というのを指定するんですが、ここに SCARD_SHARE_DIRECT というのがありました。で、これで SCardConnect するとカードが無いのに待望のカードハンドルがもらえるのです!うはー!(激喜 そして、ここからは ACR122 だけの話かもしれませんが、SCardTransmit ではなくて SCardConrtol というコマンド(これもカードハンドルが必要)で投げることで DirectTransmit が可能になります。

    PC/SCに潜む謎 その2
    yggdra_w
    yggdra_w 2019/12/24
  • PC/SCに潜む謎

    WindowsでNFCなどのICカードを利用するのに便利なPC/SCというインターフェース仕様があります。 通常はリーダライタはそれぞれドライバがあってSDKが提供されたりしてそのリーダ用のプログラムを作成するわけなんですが、PC/SCに対応したリーダライタでPC/SCを利用してプログラミングしてしまえば、他のPC/SC対応リーダに変更してもそのまま使えちゃうわけですね。(まぁ、そんなにうまくはいかないんですが) こういう共通インターフェース仕様っていうのはぶっ飛び系(なんで?こんだけのことするのに何でこんなにコードがいるわけ?など)が多いわけですが、このPC/SCも結構不思議ちゃんな部分があります。 実際に見てみましょう。ACSさんのACR122リーダを使用します。 PC/SCの実体というかAPIの呼び出し先はwinscard.dllというシステムファイルです。Windowsに含まれてま

    yggdra_w
    yggdra_w 2019/12/24
  • 1