Partager via


Fournisseur de services Wrapper

L’objectif du wrapper fournisseur est d’encapsuler et d’utiliser les interfaces COM de bas niveau (fournies par les fabricants smart carte) pour un carte intelligent particulier. Ces interfaces ne sont pas fournies par Microsoft.

wrapper fournisseur

Comme décrit dans la partie 6 de la spécification d’interopérabilité pour les ICCs et les systèmes informatiques personnels (voir spécifications à l’adresse https://pcscworkgroup.com), les fonctionnalités exposées par ce wrapper sont plus faciles à utiliser que celles de quatre fournisseurs de services distincts. Les fonctionnalités du wrapper peuvent être divisées en quatre zones main :

  • Les services d’authentification smart carte, tels que l’authentification d’obtenir des défis et carte.
  • Smart carte l’accès aux fichiers ou les services de système de fichiers, tels que l’ouverture, la fermeture, la lecture et l’écriture.
  • Gestion intelligente des carte, comme l’attachement et le détachement.
  • Smart carte services de vérification, tels que vérifier et modifier le code.

Notes

Cette spécification n’est peut-être pas disponible dans certaines langues et pays ou régions.

 

La fonctionnalité est spécifique au type de carte utilisée (fonctions que le carte prend en charge, les protocoles, etc.) et sera différente pour chaque carte.

L’exemple de wrapper Microsoft SCardCOM utilise la bibliothèque COM ATL pour implémenter un wrapper simple et créer un modèle pour d’autres wrappers. Il implémente les interfaces suivantes.

Interface ou objet Description
ISCardAuth
Services d’authentification.
ISCardFileAccess
Services de système de fichiers.
ISCardManage
Services de gestion.
ISCardVerify
Services de vérification.

 

Notes

L’exemple SCardCOM est fourni uniquement à titre d’exemple d’implémentation des interfaces wrapper. Pour éviter la collision de nom de DLL avec d’autres fournisseurs, vous ne devez pas utiliser SCardCOM.dll comme nom des DLL que vous créez.

 

Voici une utilisation classique du wrapper fournisseur. Cet exemple utilise l’interface ISCardManage pour créer des instances des interfaces qui seront encapsulées dans le fournisseur de services et l’interface ISCardVerify pour vérifier leur fonctionnement.

Pour créer un fournisseur de services wrapper

  1. Créez un instance de l’interface ISCardManage. Utilisez cette interface pour créer un instance d’interfaces requises (par exemple, ISCardFileAccess ou ISCardVerify). Lors de la création de ces interfaces, toutes les interfaces COM de bas niveau correspondantes sont également créées.
  2. Attacher/se connecter à un carte via la méthode ISCardManage appropriée.
  3. Effectuez les opérations requises à l’aide de la méthode ISCardVerify appropriée (qui peut appeler plusieurs interfaces et méthodes COM de bas niveau pour terminer).
  4. Répétez cette opération pour d’autres opérations.
  5. Relâchez lorsque vous avez terminé.

Le nom de l’interface COM et l’identificateur d’interface (GUID) ne doivent pas changer de ceux utilisés dans le code ou l’exemple de wrapper. Toutefois, le GUID de classe (autrement dit, où réside une implémentation réelle d’une interface) doit être modifié par rapport à ceux utilisés. Cela est particulièrement important lors de l’implémentation d’un wrapper fournisseur. Par exemple, vous pouvez utiliser plusieurs wrappers de fournisseur sur un ordinateur particulier. Ces wrappers doivent implémenter les mêmes interfaces COM, mais ils utilisent toujours des stratégies d’implémentation différentes. Par conséquent, différentes classes (et ID de classe) sont requises.