Как подключиться к считывателю смарт-карт в зависимости от расположения порта USB?
В настоящее время я провожу некоторые исследования и тестирование идентификации нескольких считывателей смарт-карт, чтобы определить, какой считыватель подключен к какому-либо USB-порту.
Допустим, я подключаю Reader A к USB-порту 1. Вызывая функцию SCardListReaders, я получаю следующее понятное имя:
- ACS ACR1281 1S Двойной считыватель PICC 0
Затем я подключаю другой ридер (Reader B) к USB-порту 2. Теперь у меня есть 2 ридера, подключенных к одному и тому же ПК. Вызов SCardListReaders даст мне:
- ACS ACR1281 1S Двойной считыватель PICC 0
- ACS ACR1281 1S Двойной считыватель PICC 1
Я знаю, как генерируются эти имена ( как создаются "дружественные имена" считывателя смарт-карт PCSC?), И я знаю, что подключение считывателей в другой последовательности (сначала подключите считыватель B, а затем считыватель A), таким образом, SCARD_ATTR_DEVICE_UNIT изменит SCARD_ATTR_DEVICE_UNIT. влияет на дружеские имена.
Исходя из описанного выше сценария, как я могу гарантировать, что ПК всегда будет автоматически подключаться к устройству чтения PICC через порт USB 1 независимо от его понятного имени?
Любая помощь будет высоко ценится. Спасибо.