我正在尝试找到一种方法,当卡片不存在时,从阅读器读取IFD(接口设备 - 序列号)属性。 SCard API似乎要求所有属性只能通过卡片句柄读取。虽然这对于卡片属性来说似乎很明显,但读取阅读器属性似乎是一个不好的要求。
我正在研究的一条路线是直接向阅读器驱动程序发送TLV命令;应该有用,但问题是我需要弄清楚驱动程序为其FDO公开的名称。
即使我下载和测试的许多智能卡实用程序也要求存在卡。但是,即使卡不存在,一个实用程序(PCSCDiag.exe)也能够获得我所追求的一个值。
答案 0 :(得分:2)
您可以通过将SCARD_SHARE_DIRECT传递给SCardConnect来获取句柄(注意可能的可移植性问题!)。请查看OpenSC中的src / libopensc / reader-pcsc.c,以便从阅读器(驱动程序)中读取阅读器参数(如果可用,只使用标准参数)。