我一直在努力寻找一种仅列出本地可用的智能卡读卡器的方法。或者至少区分本地读者和通过 RDP 会话共享的读者。
我正在使用SCardListReaders
,但它列出了所有注册到 SmartCard 子系统的阅读器,包括来自 RDP 共享的阅读器。有没有办法过滤该列表?
一种方法是使用 列出物理阅读器设备 SetupDiGetClassDevs
,然后使用SCardListReadersWithDeviceInstanceId
。但我需要有 Windows 7 支持,并且SCardListReadersWithDeviceInstanceId
是从 Windows 8 引入的。
也赞赏任何替代解决方案。