Я изо всех сил пытался найти способ перечисления только локально доступных читателей SmartCard.Или, по крайней мере, провести различие между локальными читателями и читателями, которым предоставлен доступ через сеанс RDP.
Я использую SCardListReaders
, но в нем перечислены все читатели, зарегистрированные в подсистеме SmartCard, включая читателей из общих ресурсов RDP.Есть ли способ отфильтровать этот список?
Один из способов - перечислить физические устройства чтения с помощью SetupDiGetClassDevs
, а затем использовать SCardListReadersWithDeviceInstanceId
.Но мне нужна поддержка Windows 7 и SCardListReadersWithDeviceInstanceId
была представлена в Windows 8.
Любое альтернативное решение также приветствуется.