Condividi tramite


struttura SCARD_READERSTATEA (winscard.h)

La struttura SCARD_READERSTATE viene usata dalle funzioni per tenere traccia delle smart card all'interno di lettori.

Sintassi

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

Membri

szReader

Puntatore al nome del lettore monitorato.

Impostare il valore di questo membro su "\\? PnP?\Notification" e i valori di tutti gli altri membri a zero per ricevere una notifica dell'arrivo di un nuovo lettore di smart card.

pvUserData

Non usato dal sottosistema di smart card . Questo membro viene usato dall'applicazione.

dwCurrentState

Stato corrente del lettore, come illustrato dall'applicazione. Questo campo può assumere uno dei valori seguenti, in combinazione, come maschera di bit.

Valore Significato
SCARD_STATE_UNAWARE
L'applicazione non è a conoscenza dello stato corrente e vuole sapere. L'uso di questo valore comporta un ritorno immediato dai servizi di monitoraggio della transizione di stato. Questo valore è rappresentato da tutti i bit impostati su zero.
SCARD_STATE_IGNORE
L'applicazione non è interessata a questo lettore e non deve essere considerata durante le operazioni di monitoraggio. Se questo valore di bit è impostato, tutti gli altri bit vengono ignorati.
SCARD_STATE_UNAVAILABLE
L'applicazione prevede che questo lettore non sia disponibile per l'uso. Se questo bit è impostato, tutti i bit seguenti vengono ignorati.
SCARD_STATE_EMPTY
L'applicazione prevede che non sia presente alcuna scheda nel lettore. Se questo bit è impostato, tutti i bit seguenti vengono ignorati.
SCARD_STATE_PRESENT
L'applicazione prevede che nel lettore sia presente una scheda.
SCARD_STATE_ATRMATCH
L'applicazione prevede che nel lettore sia presente una scheda con un ATR corrispondente a una delle schede di destinazione. Se questo bit è impostato, si presuppone SCARD_STATE_PRESENT. Questo bit non ha alcun significato per SCardGetStatusChange oltre SCARD_STATE_PRESENT.
SCARD_STATE_EXCLUSIVE
L'applicazione prevede che la scheda nel lettore venga allocata per l'uso esclusivo da parte di un'altra applicazione. Se questo bit è impostato, si presuppone SCARD_STATE_PRESENT.
SCARD_STATE_INUSE
L'applicazione prevede che la scheda nel lettore sia in uso da una o più applicazioni, ma potrebbe essere connessa in modalità condivisa. Se questo bit è impostato, si presuppone SCARD_STATE_PRESENT.
SCARD_STATE_MUTE
L'applicazione prevede che nel lettore sia presente una scheda che non risponde.
SCARD_STATE_UNPOWERED
Ciò implica che la scheda nel lettore non è stata accesa.

dwEventState

dello stato corrente del lettore , noto come noto dalla smart card resource manager. Questo campo può assumere uno dei valori seguenti, in combinazione, come maschera di bit.

Valore Significato
SCARD_STATE_IGNORE
Questo lettore deve essere ignorato.
SCARD_STATE_CHANGED
Esiste una differenza tra lo stato creduto dall'applicazione e lo stato noto dal gestore risorse. Quando questo bit è impostato, l'applicazione può presupporre che si sia verificata una modifica significativa dello stato in questo lettore.
SCARD_STATE_UNKNOWN
Il nome del lettore specificato non viene riconosciuto da Resource Manager. Se questo bit è impostato, verranno impostati anche SCARD_STATE_CHANGED e SCARD_STATE_IGNORE.
SCARD_STATE_UNAVAILABLE
Lo stato effettivo di questo lettore non è disponibile. Se questo bit è impostato, tutti i bit seguenti sono chiari.
SCARD_STATE_EMPTY
Non c'è scheda nel lettore. Se questo bit è impostato, tutti i bit seguenti saranno chiari.
SCARD_STATE_PRESENT
C'è una scheda nel lettore.
SCARD_STATE_ATRMATCH
È presente una scheda nel lettore con un ATR corrispondente a una delle schede di destinazione. Se questo bit è impostato, verrà impostato anche SCARD_STATE_PRESENT. Questo bit viene restituito solo nella funzione SCardLocateCards.
SCARD_STATE_EXCLUSIVE
La scheda nel lettore viene allocata per l'uso esclusivo da parte di un'altra applicazione. Se questo bit è impostato, verrà impostato anche SCARD_STATE_PRESENT.
SCARD_STATE_INUSE
La scheda nel lettore è in uso da una o più applicazioni, ma può essere connessa a in modalità condivisa. Se questo bit è impostato, verrà impostato anche SCARD_STATE_PRESENT.
SCARD_STATE_MUTE
C'è una scheda che non risponde nel lettore.
SCARD_STATE_UNPOWERED
Ciò implica che la scheda nel lettore non è stata accesa.

cbAtr

Numero di byte nell'ATR restituito.

rgbAtr[36]

ATR della scheda inserita, con byte di allineamento aggiuntivi.

Osservazioni

Nota

L'intestazione winscard.h definisce SCARD_READERSTATE come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows XP [solo app desktop]
server minimo supportato Windows Server 2003 [solo app desktop]
intestazione winscard.h

Vedere anche

SCardGetStatusChange

SCardLocateCards