SCardGetStatusChangeA, fonction (winscard.h)

La fonction SCardGetStatusChange bloque l’exécution jusqu’à ce que la disponibilité actuelle des cartes dans un ensemble spécifique de lecteurs change.

L’appelant fournit une liste de lecteurs à surveiller par un tableau SCARD_READERSTATE et la durée maximale (en millisecondes) pendant laquelle il est prêt à attendre qu’une action se produise sur l’un des lecteurs répertoriés. Notez que SCardGetStatusChange utilise la valeur fournie par l’utilisateur dans les membres dwCurrentState du tableau SCARD_READERSTATE rgReaderStates comme définition de l’état actuel des lecteurs. La fonction retourne en cas de modification de la disponibilité, après avoir renseigné les membres dwEventState de rgReaderStates de manière appropriée.

Syntaxe

LONG SCardGetStatusChangeA(
  [in]      SCARDCONTEXT         hContext,
  [in]      DWORD                dwTimeout,
  [in, out] LPSCARD_READERSTATEA rgReaderStates,
  [in]      DWORD                cReaders
);

Paramètres

[in] hContext

Handle qui identifie le contexte resource manager. Le contexte du gestionnaire de ressources est défini par un appel précédent à la fonction SCardEstablishContext .

[in] dwTimeout

Durée maximale, en millisecondes, d’attente d’une action. La valeur zéro entraîne le retour immédiat de la fonction. La valeur INFINITE fait en sorte que cette fonction n’expire jamais.

[in, out] rgReaderStates

Tableau de structures SCARD_READERSTATE qui spécifient les lecteurs à watch et qui reçoivent le résultat.

Pour être averti de l’arrivée d’un nouveau lecteur de carte intelligent, définissez le membre szReader d’une structure SCARD_READERSTATE sur « \\ ? PnP ?\Notification », et définissez tous les autres membres de cette structure sur zéro.

Important Chaque membre de chaque structure de ce tableau doit être initialisé à zéro, puis défini sur des valeurs spécifiques si nécessaire. Si ce n’est pas le cas, la fonction échoue dans les situations qui impliquent des lecteurs carte distants.
 

[in] cReaders

Nombre d’éléments dans le tableau rgReaderStates .

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 SCardGetStatusChange est une fonction de suivi intelligente carte. Pour plus d’informations sur les autres fonctions de suivi, consultez Fonctions de suivi de carte à puce.

Exemples

Pour plus d’informations sur l’appel de cette fonction, consultez l’exemple dans SCardLocateCards.

Notes

L’en-tête winscard.h définit SCardGetStatusChange 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. La combinaison 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.

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

SCARD_READERSTATE

SCardCancel

SCardEstablishContext

SCardLocateCards