我正在尝试使用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()
进行调用。
答案 0 :(得分:0)
好,我知道了。要在阅读器中不带卡的情况下拨打电话SCardConnectA()
,dwShareMode
必须为SCARD_SHARE_DIRECT
,并且 dwPreferredProtocols
必须为0
。