Funzione SCardGetStatusChangeA (winscard.h)

La funzione SCardGetStatusChange blocca l'esecuzione fino alla disponibilità corrente delle schede in un set specifico di lettori.

Il chiamante fornisce un elenco di lettori da monitorare da una matrice SCARD_READERSTATE e la quantità massima di tempo (in millisecondi) che è disposta ad attendere che si verifichi un'azione su uno dei lettori elencati. Si noti che SCardGetStatusChange usa il valore fornito dall'utente nei membri dwCurrentState di rgReaderStatesSCARD_READERSTATE matrice come definizione dello stato corrente dei lettori. La funzione restituisce quando si verifica una modifica della disponibilità, dopo aver compilato i membri dwEventState di rgReaderStates in modo appropriato.

Sintassi

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

Parametri

[in] hContext

Handle che identifica il contesto di Resource Manager. Il contesto di Resource Manager viene impostato da una chiamata precedente alla funzione SCardEstablishContext .

[in] dwTimeout

Quantità massima di tempo, in millisecondi, di attesa di un'azione. Un valore pari a zero fa sì che la funzione restituisca immediatamente. Un valore infinite causa il timeout di questa funzione.

[in, out] rgReaderStates

Matrice di strutture SCARD_READERSTATE che specificano i lettori da watch e che riceve il risultato.

Per ricevere una notifica dell'arrivo di un nuovo lettore di smart card, impostare il membro szReader di una struttura SCARD_READERSTATE su "\\? PnP?\Notification" e imposta tutti gli altri membri di tale struttura su zero.

Importante Ogni membro di ogni struttura in questa matrice deve essere inizializzato su zero e quindi impostato su valori specifici in base alle esigenze. Se questa operazione non viene eseguita, la funzione avrà esito negativo in situazioni che coinvolgono lettori di schede remote.
 

[in] cReaders

Numero di elementi nella matrice rgReaderStates .

Valore restituito

Questa funzione restituisce valori diversi a seconda che abbia esito positivo o negativo.

Codice restituito Descrizione
Success
SCARD_S_SUCCESS.
Operazioni non riuscite
Codice di errore. Per altre informazioni, vedere Valori restituiti della smart card.

Commenti

La funzione SCardGetStatusChange è una funzione di rilevamento delle smart card . Per altre informazioni sulle altre funzioni di rilevamento, vedere Funzioni di rilevamento delle smart card.

Esempio

Per informazioni su come chiamare questa funzione, vedere l'esempio in SCardLocateCards.

Nota

L'intestazione winscard.h definisce SCardGetStatusChange 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 che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winscard.h
Libreria Winscard.lib
DLL Winscard.dll

Vedi anche

SCARD_READERSTATE

SCardCancel

SCardEstablishContext

SCardLocateCards