Partager via


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
Success
SCARD_S_SUCCESS.
Échec
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

Voir aussi

SCardConnect

SCardDisconnect