Я пишу приложение для смарт-карт. Это приложение подключает карту в считывающее устройство и иногда работает с ней. Мне нужно посмотреть, когда читатель больше не доступен (либо карта извлечена, либо считыватель удален с USB).Идентификация считывателя смарт-карт: при удалении любого читателя изменяется имя остальных
Считыватели просматривают: SCardStatusChange. Эта функция требует просмотра имени читателя.
Я вставляю два считывателя с картами в слоты USB. Они распознаются как «USB Smart Card Reader 0» и «USB Smart Card Reader 1». Я удаляю одного читателя. Windows говорит, что «USB Smart Card Reader 1» все еще подключен. Я вставляю его - снова оба доступны. Теперь я удаляю второй. Windows все еще говорит, что «USB Smart Card Reader 1» подключен. И это проблема, потому что это должно быть «USB Smart Card Reader 0», которое все еще подключено. Процедура отслеживания не может наблюдать за читателем, потому что это имя изменено.
Проблема с драйвером или проблема с подсистемой смарт-карт XP? Используемый драйвер - совместимая с USB CCID версия 5.2.3790.1830 (VID 076B, PID A021), usbccid.sys.
Идея PCSC заключается в том, что читатель не так важен, как карта в читателе, поэтому имена читателей просто перечислены. Как только будет установлена связь с картой, ее бесполезно. – guidot