Partager via


Fonction SCardEndTransaction (winscard.h)

La fonction SCardEndTransaction termine une transaction déclarée précédemment, ce qui permet à d’autres applications de reprendre les interactions avec le carte.

Syntaxe

LONG SCardEndTransaction(
  [in] SCARDHANDLE hCard,
  [in] DWORD       dwDisposition
);

Paramètres

[in] hCard

Valeur de référence obtenue à partir d’un appel précédent à SCardConnect. Cette valeur aurait également été utilisée dans un appel antérieur à SCardBeginTransaction.

[in] dwDisposition

Action à effectuer sur le carte dans le lecteur connecté à proximité.

Valeur Signification
SCARD_EJECT_CARD
Éjectez le carte.
SCARD_LEAVE_CARD
Ne faites rien de spécial.
SCARD_RESET_CARD
Réinitialisez le carte.
SCARD_UNPOWER_CARD
Mettez le carte hors tension.

Valeur retournée

Si la fonction réussit, la fonction retourne SCARD_S_SUCCESS.

Si la fonction échoue, elle retourne un code d'erreur. Pour plus d’informations, consultez Valeurs de retour de carte à puce. Les codes d’erreur possibles suivent.

Code/valeur de retour Description
SCARD_W_RESET_CARD
0x80100068L
La transaction a été libérée. Toute communication future avec le carte nécessite un appel à la fonction SCardReconnect.

Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : La transaction n’a pas été libérée. L’application doit immédiatement appeler la fonction SCardDisconnect, SCardReconnect ou SCardReleaseContext pour éviter qu’une transaction existante empêche d’autres threads et processus de communiquer avec le carte intelligent.

Remarques

La fonction SCardEndTransaction est une fonction d’accès carte etlecteur intelligente. Pour plus d’informations sur d’autres fonctions d’accès, consultez Smart Card and Reader Access Functions.

Exemples

L’exemple suivant met fin à une transaction de carte intelligente. L’exemple suppose que lReturn est une variable valide de type LONG, que hCard est un handle valide reçu d’un appel précédent à la fonction SCardConnect et que hCard a été passé à un appel précédent à la fonction SCardBeginTransaction .


lReturn = SCardEndTransaction(hCard, 
                              SCARD_LEAVE_CARD);
if ( SCARD_S_SUCCESS != lReturn )
    printf("Failed SCardEndTransaction\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

SCardBeginTransaction

SCardConnect