Environnement du pilote de carte à puce
La figure suivante montre l’environnement standard pour le pilote de lecteur smart carte.
En outre, la figure montre les composants suivants de l’environnement smart carte :
Les applications communiquent avec un pilote de lecteur de carte intelligent à l’aide du gestionnaire de ressources carte intelligent. Le pilote de lecteur réside dans l’espace du noyau, et le gestionnaire de ressources carte intelligent réside dans l’espace utilisateur.
Le gestionnaire de ressources communique avec le pilote de lecteur au moyen de contrôles d’E/S qui sont distribués à l’aide de l’appel système DeviceIoControl . Pour plus d’informations sur l’utilisation de l’appel système DeviceIoControl, reportez-vous à la rubrique DeviceIoControl dans le Microsoft Windows SDK.
De même, les applications intelligentes prenant en charge les carte peuvent envoyer des instructions à un pilote de lecteur de carte intelligent à l’aide de DeviceIoControl, et le système d’exploitation transfère le IOCTL indiqué au pilote de lecteur. Si le pilote de lecteur est un pilote WDM, le système d’exploitation transfère la demande au moyen d’un paquet de demandes d’E/S (IRP).
Microsoft fournit un exemple de pilote de lecteur, pscr.sys, qui est un pilote pour un lecteur de carte intelligent PCMCIA. Le code source de ce pilote est disponible dans la collection d’exemples WDK. Pour plus d’informations, consultez Pilote de carte à puce PCMCIA. Les fournisseurs de lecteurs de carte intelligents doivent fournir des pilotes conçus pour fonctionner avec le gestionnaire de ressources fourni par le système et la bibliothèque de pilotes de carte intelligent.
Les pilotes de lecteur natifs et fournis par le fournisseur doivent utiliser la bibliothèque de pilotes smart carte pour effectuer un grand nombre de leurs opérations clés, comme expliqué dans la section Bibliothèque de pilotes de carte à puce.