désignation du lecteur de carte à puce: lors du retrait de tout lecteur, le nom des changements de repos

StackOverflow https://stackoverflow.com/questions/2636055

Question

J'ecrivais une application de carte à puce. Cette application se connecte carte dans le lecteur et travaille parfois avec elle. Je dois regarder quand le lecteur est plus disponible (soit la carte est éjectée ou lecteur est retiré de l'USB).

Les lecteurs sont surveillés à l'aide SCardStatusChange . Cette fonction nécessite nom du lecteur à regarder.

J'insérer deux lecteurs de cartes USB dans les fentes. Ils sont reconnus comme "USB Smart Card Reader 0" et "USB Smart Card Reader 1". Je supprimer un lecteur. Windows dit, "USB Smart Card Reader 1" est toujours connecté. Je l'insère - encore une fois tous les deux disponibles. Maintenant, je retire le second. Windows dit encore « carte à puce USB Lecteur 1 » est connecté. Et c'est le problème car il devrait être « USB Smart Card Reader 0 » qui est toujours connecté. routine de suivi ne peut pas regarder le lecteur, car son nom est changé.

Est-ce un problème de pilote ou XP problème du sous-système de? Pilote utilisé est USB CCID conforme la version 5.2.3790.1830 (VID 076B, PID A021), Usbccid.sys.

Était-ce utile?

La solution

Nous avons rencontré ce problème sur un projet et géré par itérer chaque lecteur disponible et vérifier si une carte est insérée dans ce lecteur. Vous rencontrerez ce problème de nom avec plusieurs marques de lecteurs USB.

Mon entreprise a un produit qui vous permet d'intégrer des cartes à puce avec des sites Web; une de nos démos liste les lecteurs de cartes à puce actuellement disponibles et il pourrait vous aider à tester différents scénarios de lecteur: https://cardboss.cometway.com/content.agent?page_name=GetReaders+Demo

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top