如何使用PC / SC与阅读器通信

时间:2019-03-01 20:26:01

标签: pcsc

我正在尝试使用Windows(winscard.dll)上的PC / SC API与ACS ACR122U NFC读卡器进行通信。

根据this document,有一个伪APDU可用来读取读卡器固件版本:FF 00 48 00 00

在读卡器中装有卡时,我的工作是:先叫SCardEstablishContext(),然后叫SCardConnectA()来获得手柄,然后叫柄SCardTransmit()。正如预期的那样,我得到了答案。

但是在没有读卡器的情况下该怎么办?

上面的文件说:

  

•如果标签已经连接,则可以通过“ ACR122U PICC接口”发送伪APDU
  •如果尚未显示标签,则可以使用“转义命令”发送伪APDU

我不知道那是什么意思。如果在读取器中没有卡的情况下尝试与上述相同的方法,则SCardConnectA()调用会失败,并显示一个SCARD_W_REMOVED_CARD错误,这意味着我无法使用SCardTransmit()进行调用。

1 个答案:

答案 0 :(得分:0)

好,我知道了。要在阅读器中不带卡的情况下拨打电话SCardConnectA()dwShareMode必须为SCARD_SHARE_DIRECT ,并且 dwPreferredProtocols必须为0