2016-07-25 63 views
0

是否有可能通过WinSCard api检测智能卡读卡器中是否有多个智能卡?我正在读卡片ID,但是当有多张卡片时,它变得模糊不清,应该返回哪一张。所以我想禁止这种情况并返回错误消息。PCSC检测多个智能卡

+0

相关[问题](http://stackoverflow.com/q/37755043/1435475)。 – guidot

回答

0

如果有多张卡即多个阅读器正在使用。这里winscard API函数 - SCardListReadersA()将返回阅读器的名称/ s的连接到系统一样,

if one reader then "one reader"NULL|NULL|garbage 
if two reader then "one reader"NULL"second reader"NULL|NULL|garbage 
当您连接到你需要的功能,通过读卡器名读者

- SCardConnectA()和您使用函数SCardTransmit()获得的响应(ID)来自您使用函数SCardConnectA()连接的读卡器和卡。

希望这些信息对您有所帮助。

+0

感谢您的回复。我只使用一个读卡器,并且当读卡器中有多张卡时,我想防止读卡ID。 – eko

+0

多个卡在一个单一的阅读器!读者是否拥有更多的芯片工作站?或者它是混合阅读器(联系人+非接触式) – Arjun

+0

不,它只支持一次读取一张卡,并且只支持非接触式卡。阅读器型号为acr-1252。 – eko

0

ACR-1252阅读器只有一个非接触式接口。当您尝试同时连接(敷设)两个非接触式智能卡时,阅读器固件的责任是选择哪一个连接到其插槽。 某些读卡器供应商允许您在这种情况下配置其固件的行为不同。我不知道你的读者是否有这样的能力,但我非常怀疑它。