我一直在努力寻找一种只列出本地可用的SmartCard阅读器的方法。或者至少区分本地读取器和通过RDP会话共享的读取器。
我使用的是SCardListReaders,但它列出了注册到SmartCard子系统的所有读取器,包括来自RDP共享的读取器。有没有办法过滤这个列表?
一种方法是先用SetupDiGetClassDevs列出物理阅读器设备,然后再使用SCardListReadersWithDeviceInstanceId。但我需要Windows7的支持,而SCardListReadersWithDeviceInstanceId是从Windows8引入的。
任何替代的解决方案也是值得赞赏的。
发布于 2019-09-20 19:06:05
在调用SCardEstablishContext时,可以对dwScope参数使用SCARD_SCOPE_SYSTEM常量
远程SmartCard读取器只能存在于用户上下文中。
https://stackoverflow.com/questions/58025075
复制相似问题