Fonction SCardBeginTransaction (winscard.h)
La fonction SCardBeginTransaction démarre une transaction.
La fonction attend l’achèvement de toutes les autres transactions avant de commencer. Une fois la transaction démarrée, toutes les autres applications ne peuvent pas accéder au carte intelligent pendant que la transaction est en cours.
Syntaxe
LONG SCardBeginTransaction(
[in] SCARDHANDLE hCard
);
Paramètres
[in] hCard
Valeur de référence obtenue à partir d’un appel précédent à SCardConnect.
Valeur retournée
Si la fonction réussit, elle 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.
Si un autre processus ou thread a réinitialisé le carte, SCARD_W_RESET_CARD est retourné comme prévu.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Cette fonction retourne SCARD_S_SUCCESS même si un autre processus ou thread a réinitialisé le carte. Pour déterminer si le carte a été réinitialisé, appelez la fonction SCardStatus immédiatement après l’appel de cette fonction.
Remarques
Si une transaction est conservée sur le carte pendant plus de cinq secondes sans qu’aucune opération ne se produise sur cette carte, le carte est réinitialisé. L’appel de l’une des fonctions de carte à puce et d’accès au lecteur ou des fonctions d’accès direct à la carte sur le carte traité entraîne la réinitialisation du minuteur pour continuer à autoriser l’utilisation de la transaction.
La fonction SCardBeginTransaction est une fonction d’accès carte etlecteur intelligente. Pour plus d’informations sur d’autres fonctions d’accès, consultez Fonctions d’accès par carte à puce et lecteur.
Exemples
L’exemple suivant montre comment commencer une transaction de carte intelligente. L’exemple suppose qu’il lReturn
s’agit d’une variable existante de type LONG et qu’il hCard
s’agit d’un handle valide reçu d’un appel précédent à SCardConnect.
lReturn = SCardBeginTransaction( hCard );
if ( SCARD_S_SUCCESS != lReturn )
printf("Failed SCardBeginTransaction\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 |