Как подключиться к считывателю смарт-карт в зависимости от расположения порта 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 независимо от его понятного имени?

Любая помощь будет высоко ценится. Спасибо.

0 ответов

Другие вопросы по тегам