SCardControl, fonction (winscard.h)
La fonction SCardControl vous permet de contrôler directement le lecteur. Vous pouvez l’appeler à tout moment après un appel réussi à SCardConnect et avant un appel réussi à SCardDisconnect. L’effet sur l’état du lecteur dépend du code de contrôle.
Syntaxe
LONG SCardControl(
[in] SCARDHANDLE hCard,
[in] DWORD dwControlCode,
[in] LPCVOID lpInBuffer,
[in] DWORD cbInBufferSize,
[out] LPVOID lpOutBuffer,
[in] DWORD cbOutBufferSize,
[out] LPDWORD lpBytesReturned
);
Paramètres
[in] hCard
Valeur de référence retournée par SCardConnect.
[in] dwControlCode
Code de contrôle pour l’opération. Cette valeur identifie l’opération spécifique à effectuer.
[in] lpInBuffer
Pointeur vers une mémoire tampon qui contient les données requises pour effectuer l’opération. Ce paramètre peut être NULL si le paramètre dwControlCode spécifie une opération qui ne nécessite pas de données d’entrée.
[in] cbInBufferSize
Taille, en octets, de la mémoire tampon pointée par lpInBuffer.
[out] lpOutBuffer
Pointeur vers une mémoire tampon qui reçoit les données de sortie de l’opération. Ce paramètre peut être NULL si le paramètre dwControlCode spécifie une opération qui ne produit pas de données de sortie.
[in] cbOutBufferSize
Taille, en octets, de la mémoire tampon pointée par lpOutBuffer.
[out] lpBytesReturned
Pointeur vers un DWORD qui reçoit la taille, en octets, des données stockées dans la mémoire tampon pointée par lpOutBuffer.
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
La fonction SCardControl est une fonction d’accès direct carte. Pour plus d’informations sur les autres fonctions d’accès direct, consultez Fonctions d’accès direct à la carte.
Exemples
L’exemple suivant émet un code de contrôle. L’exemple suppose que hCardHandle est un handle valide reçu à partir d’un appel précédent à SCardConnect et que dwControlCode est une variable de type DWORD précédemment initialisée dans un code de contrôle valide. Ce code de contrôle particulier ne nécessite aucune donnée d’entrée et n’attend aucune donnée de sortie.
lReturn = SCardControl( hCardHandle,
dwControlCode,
NULL,
0,
NULL,
0,
0 );
if ( SCARD_S_SUCCESS != lReturn )
printf("Failed SCardControl\n");
Configuration requise
Condition requise | Valeur |
---|---|
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 |