Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die SCardUIDlgSelectCard--Funktion zeigt das Dialogfeld Smartcard Karte auswählen an.
Syntax
LONG SCardUIDlgSelectCardW(
[in] LPOPENCARDNAMEW_EX unnamedParam1
);
Parameter
[in] unnamedParam1
Zeigen Sie auf die struktur OPENCARDNAME_EX für das Dialogfeld Karte auswählen.
Rückgabewert
Wenn die Funktion erfolgreich das Dialogfeld Karte auswählen anzeigt, wird der Rückgabewert SCARD_S_SUCCESS.
Wenn die Funktion fehlschlägt, wird ein Fehlercode zurückgegeben. Weitere Informationen finden Sie unter Smartcard-Rückgabewerte.
Bemerkungen
Die SCardUIDlgSelectCard--Funktion stellt eine Methode zum Herstellen einer Verbindung mit einer bestimmten Smartcardbereit. Wenn diese Funktion aufgerufen wird, führt diese Funktion eine Suche nach geeigneten Smartcards aus, die dem OPENCARD_SEARCH_CRITERIA Element entsprechen, das vom pDlgStruc Parameter angegeben ist. Je nach dwFlags Mitglied von pDlgStrucführt diese Funktion die folgenden Aktionen aus.
| Wert | Aktion |
|---|---|
| SC_DLG_FORCE_UI | Stellt eine Verbindung mit der vom Benutzer ausgewählten Karte aus der Smartcard her, Dialogfeld "Karte auswählen". |
| SC_DLG_MINIMAL_UI | Wählt die Smartcard aus, wenn nur eine Smartcard die Kriterien erfüllt, oder gibt Informationen zur Auswahl des Benutzers zurück, wenn mehrere Smartcards die Kriterien erfüllen. |
| SC_DLG_NO_UI | Wählt die erste verfügbare Karte aus. |
Diese Funktion ersetzt GetOpenCardName. Die GetOpenCardName-Funktion wird zur Abwärtskompatibilität mit Version 1.0 der Microsoft SmartCard-Basiskomponenten beibehalten.
Beispiele
Das folgende Beispiel zeigt, wie die Smartcard Dialogfeld "Karte auswählen" angezeigt wird.
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).
Anmerkung
Der winscard.h-Header definiert SCardUIDlgSelectCard als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
| Anforderung | Wert |
|---|---|
| mindestens unterstützte Client- | Windows XP [nur Desktop-Apps] |
| mindestens unterstützte Server- | Windows Server 2003 [Nur Desktop-Apps] |
| Zielplattform- | Fenster |
| Header- | winscard.h |
| Library | Scarddlg.lib |
| DLL- | Scarddlg.dll |