Fonction SCardIntroduceCardTypeA (winscard.h)
La fonction SCardIntroduceCardType introduit une carte intelligente au sous-système smart carte (pour l’utilisateur actif) en l’ajoutant à la base de données smart carte.
Syntaxe
LONG SCardIntroduceCardTypeA(
[in] SCARDCONTEXT hContext,
[in] LPCSTR szCardName,
[in, optional] LPCGUID pguidPrimaryProvider,
[in, optional] LPCGUID rgguidInterfaces,
[in] DWORD dwInterfaceCount,
[in] LPCBYTE pbAtr,
[in] LPCBYTE pbAtrMask,
[in] DWORD cbAtrLen
);
Paramètres
[in] hContext
Handle qui identifie le contexte resource manager. Le contexte resource manager est défini par un appel précédent à SCardEstablishContext. Ce paramètre ne peut pas avoir la valeur NULL.
[in] szCardName
Nom par lequel l’utilisateur peut reconnaître le carte.
[in, optional] pguidPrimaryProvider
Pointeur vers l’identificateur (GUID) du fournisseur de services principal du carte intelligent.
[in, optional] rgguidInterfaces
Tableau d’identificateurs (GUID) qui identifient les interfaces prises en charge par le carte intelligent.
[in] dwInterfaceCount
Nombre d’identificateurs dans le tableau rgguidInterfaces .
[in] pbAtr
Chaîne ATR qui peut être utilisée à des fins de correspondance lors de l’interrogation de la base de données smart carte (pour plus d’informations, consultez SCardListCards). La longueur de cette chaîne est déterminée par l’analyse ATR normale.
[in] pbAtrMask
Masque de bits facultatif à utiliser pour comparer les ATR des cartes à puce à l’ATR fourni dans pbAtr. Si cette valeur n’est pas NULL, elle doit pointer vers une chaîne d’octets de la même longueur que la chaîne ATR fournie dans pbAtr. Lorsqu’une chaîne ATR A donnée est comparée à l’ATR fournie dans pbAtr, elle correspond à si et uniquement si A & M = pbAtr, où M est le masque fourni et & représente AND au niveau du bit.
[in] cbAtrLen
Longueur du masque ATR et facultatif. Si cette valeur est égale à zéro, la longueur de l’ATR est déterminée par l’analyse ATR normale. Cette valeur ne peut pas être égale à zéro si une valeur pbAtr est fournie.
Valeur retournée
Cette fonction retourne des valeurs différentes selon qu’elle réussit ou échoue.
Code de retour | Description |
---|---|
|
SCARD_S_SUCCESS. |
|
Code d'erreur. Pour plus d’informations, consultez Valeurs de retour de carte à puce. |
Remarques
Cette fonction n’est pas redirigée, mais l’appel de la fonction à l’intérieur d’une session Bureau à distance n’entraîne pas d’erreur. Cela signifie uniquement que le résultat provient de l’ordinateur distant au lieu de l’ordinateur local.
La fonction SCardIntroduceCardType est une fonction de gestion de base de données. Pour plus d’informations sur d’autres fonctions de gestion de base de données, consultez Fonctions de gestion de base de données de carte à puce.
Pour supprimer un carte intelligent, utilisez SCardForgetCardType.
Exemples
L’exemple suivant montre comment introduire un type carte. L’exemple suppose que hContext est un handle valide obtenu à partir d’un appel précédent à la fonction SCardEstablishContext .
GUID MyGuid = { 0xABCDEF00,
0xABCD,
0xABCD,
0xAA, 0xBB, 0xCC, 0xDD,
0xAA, 0xBB, 0xCC, 0xDD };
static const BYTE MyATR[] = { 0xaa, 0xbb, 0xcc, 0x00, 0xdd };
static const BYTE MyATRMask[] = { 0xff, 0xff, 0xff, 0x00, 0xff};
LONG lReturn;
lReturn = SCardIntroduceCardType(hContext,
L"MyCardName",
&MyGuid,
NULL, // No interface array
0, // Interface count = 0
MyATR,
MyATRMask,
sizeof(MyATR));
if ( SCARD_S_SUCCESS != lReturn )
printf("Failed SCardIntroduceCardType\n");
Notes
L’en-tête winscard.h définit SCardIntroduceCardType comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Configuration requise
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | winscard.h |
Bibliothèque | Winscard.lib |
DLL | Winscard.dll |