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