struttura OPENCARD_SEARCH_CRITERIAW (winscard.h)
La struttura
Sintassi
typedef struct {
DWORD dwStructSize;
LPWSTR lpstrGroupNames;
DWORD nMaxGroupNames;
LPCGUID rgguidInterfaces;
DWORD cguidInterfaces;
LPWSTR lpstrCardNames;
DWORD nMaxCardNames;
LPOCNCHKPROC lpfnCheck;
LPOCNCONNPROCW lpfnConnect;
LPOCNDSCPROC lpfnDisconnect;
LPVOID pvUserData;
DWORD dwShareMode;
DWORD dwPreferredProtocols;
} OPENCARD_SEARCH_CRITERIAW, *POPENCARD_SEARCH_CRITERIAW, *LPOPENCARD_SEARCH_CRITERIAW;
Membri
dwStructSize
Lunghezza, in byte, della struttura. Non deve essere NULL.
lpstrGroupNames
Puntatore a un buffer contenente stringhe di nomi di gruppo con terminazione Null. L'ultima stringa nel buffer deve essere terminata da due caratteri Null. Ogni stringa è il nome di un gruppo di schede da includere nella ricerca. Se lpstrGroupNames è NULL, viene eseguita la ricerca del gruppo predefinito (Scard$DefaultReaders).
nMaxGroupNames
Numero massimo di byte (versione ANSI) o caratteri (versione Unicode) nella stringa lpstrGroupName s.
rgguidInterfaces
Riservato per uso futuro. Matrice di GUID che identifica le interfacce necessarie. Impostare questo membro su NULL.
cguidInterfaces
Riservato per uso futuro. Numero di interfacce nella matrice
lpstrCardNames
Puntatore a un buffer che contiene stringhe di nomi di scheda con terminazione Null. L'ultima stringa nel buffer deve essere terminata da due caratteri Null. Ogni stringa è il nome di una scheda da individuare.
nMaxCardNames
Numero massimo di byte (versione ANSI) o caratteri (versione Unicode) nella stringa lpstrGroupNames.
lpfnCheck
Puntatore alla routine di verifica della scheda del chiamante. Se non è necessaria alcuna verifica della scheda speciale, questo puntatore viene NULL. Se la scheda viene rifiutata dalla routine di verifica, viene restituita false e la scheda verrà disconnessa. Se la scheda viene accettata dalla routine di verifica, viene restituita true.
Il prototipo della routine di controllo è il seguente.
Boolean Check(
hSCardContext, // the card context passed in the parameter block
hCard, // card handle
pvUserData // pointer to user data passed in the parameter block
);
lpfnConnect
Puntatore alla routine di connessione della scheda del chiamante. Se il chiamante deve eseguire ulteriore elaborazione per connettersi alla scheda, questo puntatore a funzione viene impostato sulla funzione di connessione dell'utente. Se la funzione di connessione ha esito positivo, la scheda viene lasciata connessa e inizializzata e viene restituito l'handle della scheda.
Il prototipo per la routine di connessione è il seguente.
Connect(
hSCardContext, // the card context passed in the parameter block
szReader, // the name of the reader
mszCards, // multiple string that contains
// the possible card names in the reader
pvUserData // pointer to user data passed in parameter block
);
lpfnDisconnect
Puntatore alla routine di disconnessione della scheda del chiamante.
Il prototipo per la routine di disconnessione è il seguente.
Disconnect(
hSCardContext, // the card context passed in the parameter block
hCard, // card handle
pvUserData // pointer to user data passed in the parameter block
);
pvUserData
Puntatore void ai dati utente. Questo puntatore viene passato di nuovo al chiamante nelle routine Connect, Check e Disconnect.
dwShareMode
Se
dwPreferredProtocols
Usato per la connessione interna come descritto in dwShareMode.
Osservazioni
Nota
L'intestazione winscard.h definisce OPENCARD_SEARCH_CRITERIA 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 |