Share via


structure SCARD_READERSTATEA (winscard.h)

La structure SCARD_READERSTATE est utilisée par les fonctions pour le suivi des cartes à puce dans les lecteurs.

Syntaxe

typedef struct {
  LPCSTR szReader;
  LPVOID pvUserData;
  DWORD  dwCurrentState;
  DWORD  dwEventState;
  DWORD  cbAtr;
  BYTE   rgbAtr[36];
} SCARD_READERSTATEA, *PSCARD_READERSTATEA, *LPSCARD_READERSTATEA;

Membres

szReader

Pointeur vers le nom du lecteur surveillé.

Définissez la valeur de ce membre sur « \\? PnP?\Notification » et les valeurs de tous les autres membres à zéro pour être avertis de l’arrivée d’un nouveau lecteur smart carte.

pvUserData

Non utilisé par le sous-système smart carte. Ce membre est utilisé par l’application.

dwCurrentState

État actuel du lecteur, tel que vu par l’application. Ce champ peut prendre l’une des valeurs suivantes, en combinaison, comme masque de bits.

Valeur Signification
SCARD_STATE_UNAWARE
L’application ignore l’état actuel et souhaite en savoir plus. L’utilisation de cette valeur entraîne un retour immédiat des services de surveillance de la transition d’état. Cela est représenté par tous les bits définis sur zéro.
SCARD_STATE_IGNORE
L’application n’est pas intéressée par ce lecteur, et elle ne doit pas être prise en compte lors des opérations de surveillance. Si cette valeur de bits est définie, tous les autres bits sont ignorés.
SCARD_STATE_UNAVAILABLE
L’application s’attend à ce que ce lecteur ne soit pas disponible pour utilisation. Si ce bit est défini, tous les bits suivants sont ignorés.
SCARD_STATE_EMPTY
L’application s’attend à ce qu’il n’y ait aucune carte dans le lecteur. Si ce bit est défini, tous les bits suivants sont ignorés.
SCARD_STATE_PRESENT
L’application s’attend à ce qu’il y ait une carte dans le lecteur.
SCARD_STATE_ATRMATCH
L’application s’attend à ce qu’il y ait une carte dans le lecteur avec un ATR qui correspond à l’une des cartes cibles. Si ce bit est défini, SCARD_STATE_PRESENT est supposé. Ce bit n’a aucune signification pour SCardGetStatusChange au-delà de SCARD_STATE_PRESENT.
SCARD_STATE_EXCLUSIVE
L’application s’attend à ce que le carte dans le lecteur soit alloué pour une utilisation exclusive par une autre application. Si ce bit est défini, SCARD_STATE_PRESENT est supposé.
SCARD_STATE_INUSE
L’application s’attend à ce que le carte dans le lecteur soit utilisé par une ou plusieurs autres applications, mais qu’il puisse être connecté en mode partagé. Si ce bit est défini, SCARD_STATE_PRESENT est supposé.
SCARD_STATE_MUTE
L’application s’attend à ce qu’il y ait un carte qui ne répond pas dans le lecteur.
SCARD_STATE_UNPOWERED
Cela implique que le carte dans le lecteur n’a pas été alimenté.

dwEventState

État actuel du lecteur, tel que connu par le gestionnaire de ressourcessmart carte. Ce champ peut prendre l’une des valeurs suivantes, en combinaison, comme masque de bits.

Valeur Signification
SCARD_STATE_IGNORE
Ce lecteur doit être ignoré.
SCARD_STATE_CHANGED
Il existe une différence entre l’état cru par l’application et l’état connu par le gestionnaire de ressources. Lorsque ce bit est défini, l’application peut supposer qu’un changement d’état important s’est produit sur ce lecteur.
SCARD_STATE_UNKNOWN
Le nom de lecteur donné n’est pas reconnu par le gestionnaire de ressources. Si ce bit est défini, SCARD_STATE_CHANGED et SCARD_STATE_IGNORE seront également définis.
SCARD_STATE_UNAVAILABLE
L’état réel de ce lecteur n’est pas disponible. Si ce bit est défini, tous les bits suivants sont clairs.
SCARD_STATE_EMPTY
Il n’y a aucune carte dans le lecteur. Si ce bit est défini, tous les bits suivants sont clairs.
SCARD_STATE_PRESENT
Il y a un carte dans le lecteur.
SCARD_STATE_ATRMATCH
Il existe un carte dans le lecteur avec un ATR correspondant à l’une des cartes cibles. Si ce bit est défini, SCARD_STATE_PRESENT sera également défini. Ce bit est retourné uniquement sur la fonction SCardLocateCards .
SCARD_STATE_EXCLUSIVE
Le carte dans le lecteur est alloué pour une utilisation exclusive par une autre application. Si ce bit est défini, SCARD_STATE_PRESENT sera également défini.
SCARD_STATE_INUSE
Le carte dans le lecteur est utilisé par une ou plusieurs autres applications, mais peut être connecté en mode partagé. Si ce bit est défini, SCARD_STATE_PRESENT sera également défini.
SCARD_STATE_MUTE
Il existe un carte qui ne répond pas dans le lecteur.
SCARD_STATE_UNPOWERED
Cela implique que le carte dans le lecteur n’a pas été alimenté.

cbAtr

Nombre d’octets dans l’ATR retourné.

rgbAtr[36]

ATR du carte inséré, avec des octets d’alignement supplémentaires.

Remarques

Notes

L’en-tête winscard.h définit SCARD_READERSTATE comme un 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. Le mélange 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

   
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
En-tête winscard.h

Voir aussi

SCardGetStatusChange

SCardLocateCards