Condividi tramite


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 dalla 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 nel dwCurrentState membri della matrice di rgReaderStatesSCARD_READERSTATE come definizione del dello stato corrente dei lettori. La funzione restituisce quando si verifica una modifica della disponibilità, dopo aver compilato il dwEventState membri 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 gestione risorse . Il contesto di Resource Manager viene impostato da una chiamata precedente alla funzione SCardEstablishContext.

[in] dwTimeout

Quantità massima di tempo, espressa in millisecondi, per attendere 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 controllare 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 di 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 di rgReaderStates.

Valore restituito

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

Codice restituito Descrizione
esito positivo
SCARD_S_SUCCESS.
errore
Codice di errore. Per altre informazioni, vedere valori restituiti della smart card.

Osservazioni

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

Esempi

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 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]
piattaforma di destinazione Finestre
intestazione winscard.h
libreria Winscard.lib
dll Winscard.dll

Vedere anche

SCARD_READERSTATE

SCardCancel

SCardEstablishContext

SCardLocateCards