SCardConnectW-Funktion (winscard.h)
Die SCardConnect-Funktion stellt eine Verbindung (unter Verwendung eines bestimmten Ressourcen-Manager-Kontexts) zwischen der aufrufenden Anwendung und einer intelligenten Karte her, die von einem bestimmten Leser enthalten ist. Wenn im angegebenen Reader kein Karte vorhanden ist, wird ein Fehler zurückgegeben.
Syntax
LONG SCardConnectW(
[in] SCARDCONTEXT hContext,
[in] LPCWSTR szReader,
[in] DWORD dwShareMode,
[in] DWORD dwPreferredProtocols,
[out] LPSCARDHANDLE phCard,
[out] LPDWORD pdwActiveProtocol
);
Parameter
[in] hContext
Ein Handle, das den Ressourcen-Manager-Kontext identifiziert. Der Ressourcen-Manager-Kontext wird durch einen vorherigen Aufruf von SCardEstablishContext festgelegt.
[in] szReader
Der Name des Lesers, der das Ziel Karte enthält.
[in] dwShareMode
Ein Flag, das angibt, ob andere Anwendungen Verbindungen mit dem Karte herstellen können.
[in] dwPreferredProtocols
Eine Bitmaske akzeptabler Protokolle für die Verbindung. Mögliche Werte können mit dem OR-Vorgang kombiniert werden.
Wert | Bedeutung |
---|---|
|
T=0 ist ein akzeptables Protokoll. |
|
T=1 ist ein akzeptables Protokoll. |
|
Dieser Parameter kann nur 0 sein, wenn dwShareMode auf SCARD_SHARE_DIRECT festgelegt ist. In diesem Fall wird keine Protokollverhandlung von den Treibern ausgeführt, bis eine IOCTL_SMARTCARD_SET_PROTOCOL-Steuerungsdirektive mit SCardControl gesendet wird. |
[out] phCard
Ein Handle, das die Verbindung mit dem intelligenten Karte im angegebenen Leser identifiziert.
[out] pdwActiveProtocol
Ein Flag, das das etablierte aktive Protokoll angibt.
Wert | Bedeutung |
---|---|
|
T=0 ist das aktive Protokoll. |
|
T=1 ist das aktive Protokoll. |
|
SCARD_SHARE_DIRECT wurde angegeben, sodass keine Protokollverhandlung stattgefunden hat. Es ist möglich, dass im Leser keine Karte vorhanden ist. |
Rückgabewert
Diese Funktion gibt unterschiedliche Werte zurück, je nachdem, ob sie erfolgreich ist oder fehlschlägt.
Rückgabecode | BESCHREIBUNG |
---|---|
|
SCARD_S_SUCCESS. |
|
Ein Fehlercode. Weitere Informationen finden Sie unter Smartcard-Rückgabewerte. |
|
Der Leser konnte keine Verbindung mit dem Karte herstellen. |
Hinweise
Die SCardConnect-Funktion ist eine intelligente Karte- und Lesezugriffsfunktion. Weitere Informationen zu anderen Zugriffsfunktionen finden Sie unter Smartcard- und Lesezugriffsfunktionen.
Beispiele
Im folgenden Beispiel wird eine Verbindung mit einem Leser hergestellt. Im Beispiel wird davon ausgegangen, dass hContext ein gültiges Handle vom Typ SCARDCONTEXT ist, das von einem vorherigen Aufruf von SCardEstablishContext empfangen wurde.
SCARDHANDLE hCardHandle;
LONG lReturn;
DWORD dwAP;
lReturn = SCardConnect( hContext,
(LPCTSTR)"Rainbow Technologies SCR3531 0",
SCARD_SHARE_SHARED,
SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1,
&hCardHandle,
&dwAP );
if ( SCARD_S_SUCCESS != lReturn )
{
printf("Failed SCardConnect\n");
exit(1); // Or other appropriate action.
}
// Use the connection.
// Display the active protocol.
switch ( dwAP )
{
case SCARD_PROTOCOL_T0:
printf("Active protocol T0\n");
break;
case SCARD_PROTOCOL_T1:
printf("Active protocol T1\n");
break;
case SCARD_PROTOCOL_UNDEFINED:
default:
printf("Active protocol unnegotiated or unknown\n");
break;
}
// Remember to disconnect (by calling SCardDisconnect).
// ...
Hinweis
Der winscard.h-Header definiert SCardConnect als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code 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 |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winscard.h |
Bibliothek | Winscard.lib |
DLL | Winscard.dll |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für