SCardIntroduceCardTypeA, fonction (winscard.h)
La fonction
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 être NULL.
[in] szCardName
Nom par lequel l’utilisateur peut reconnaître la carte.
[in, optional] pguidPrimaryProvider
Pointeur vers l’identificateur (GUID) du fournisseur de services principal de la carte à puce.
[in, optional] rgguidInterfaces
Tableau d’identificateurs (GUID) qui identifient les interfaces prises en charge par la carte à puce.
[in] dwInterfaceCount
Nombre d’identificateurs dans le tableau rgguidInterfaces.
[in] pbAtr
chaîne ATR qui peut être utilisée à des fins correspondantes lors de l’interrogation de la base de données de carte à puce (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 lors de la comparaison des ATR des cartes à puce fournies dans pbAtr. Si cette valeur n’est pasNULL, 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 donnée A est comparée à l’ATR fourni dans pbAtr, il correspond si et seulement si A & M = pbAtr, où M est le masque fourni et & représente le bit AND.
[in] cbAtrLen
Longueur du masque ATR et ATR 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 de retour
Cette fonction retourne des valeurs différentes selon qu’elle réussit ou échoue.
Retourner le code | 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 une carte à puce, utilisez SCardForgetCardType.
Exemples
L’exemple suivant montre comment introduire un type de 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");
Note
L’en-tête winscard.h définit SCardIntroduceCardType comme 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.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows XP [applications de bureau uniquement] |
serveur minimum pris en charge | Windows Server 2003 [applications de bureau uniquement] |
plateforme cible | Windows |
d’en-tête | winscard.h |
bibliothèque | Winscard.lib |
DLL | Winscard.dll |