Funzione SCardUIDlgSelectCardW (winscard.h)
La funzione SCardUIDlgSelectCard
Sintassi
LONG SCardUIDlgSelectCardW(
[in] LPOPENCARDNAMEW_EX unnamedParam1
);
Parametri
[in] unnamedParam1
Puntatore alla struttura OPENCARDNAME_EX per la finestra di dialogo Seleziona scheda.
Valore restituito
Se la funzione visualizza correttamente il finestra di dialogo Seleziona scheda, il valore restituito è SCARD_S_SUCCESS.
Se la funzione ha esito negativo, restituisce un codice di errore. Per altre informazioni, vedere valori restituiti della smart card.
Osservazioni
La funzione SCardUIDlgSelectCard
Valore | Azione |
---|---|
SC_DLG_FORCE_UI | Si connette alla scheda selezionata dall'utente dalla finestra di dialogo Seleziona scheda. |
SC_DLG_MINIMAL_UI | Seleziona la smart card se una sola smart card soddisfa i criteri o restituisce informazioni sulla selezione dell'utente se più smart card soddisfano i criteri. |
SC_DLG_NO_UI | Seleziona la prima scheda disponibile. |
Questa funzione sostituisce GetOpenCardName. La funzione GetOpenCardName viene mantenuta per garantire la compatibilità con le versioni precedenti con la versione 1.0 dei componenti di base della smart card Microsoft.
Esempi
Nell'esempio seguente viene illustrato come visualizzare la smart card finestra di dialogo Seleziona scheda.
SCARDCONTEXT hSC;
OPENCARDNAME_EX dlgStruct;
WCHAR szReader[256];
WCHAR szCard[256];
LONG lReturn;
// Establish a context.
// It will be assigned to the structure's hSCardContext field.
lReturn = SCardEstablishContext(SCARD_SCOPE_USER,
NULL,
NULL,
&hSC );
if ( SCARD_S_SUCCESS != lReturn )
{
printf("Failed SCardEstablishContext\n");
exit(1);
}
// Initialize the structure.
memset(&dlgStruct, 0, sizeof(dlgStruct));
dlgStruct.dwStructSize = sizeof(dlgStruct);
dlgStruct.hSCardContext = hSC;
dlgStruct.dwFlags = SC_DLG_FORCE_UI;
dlgStruct.lpstrRdr = (LPSTR) szReader;
dlgStruct.nMaxRdr = 256;
dlgStruct.lpstrCard = (LPSTR) szCard;
dlgStruct.nMaxCard = 256;
dlgStruct.lpstrTitle = (LPSTR) "My Select Card Title";
// Display the select card dialog box.
lReturn = SCardUIDlgSelectCard(&dlgStruct);
if ( SCARD_S_SUCCESS != lReturn )
printf("Failed SCardUIDlgSelectCard - %x\n", lReturn );
else
printf("Reader: %S\nCard: %S\n", szReader, szCard );
// Release the context (by SCardReleaseContext - not shown here).
Nota
L'intestazione winscard.h definisce SCardUIDlgSelectCard 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 |
Scarddlg.lib |
dll | Scarddlg.dll |