SCardEstablishContext-Funktion (winscard.h)
Die SCardEstablishContext-Funktion richtet den Ressourcen-Manager-Kontext (den Bereich) ein, in dem Datenbankvorgänge ausgeführt werden.
Syntax
LONG SCardEstablishContext(
[in] DWORD dwScope,
[in] LPCVOID pvReserved1,
[in] LPCVOID pvReserved2,
[out] LPSCARDCONTEXT phContext
);
Parameter
[in] dwScope
Bereich des Ressourcen-Manager-Kontexts. Dieser Parameter kann einen der folgenden Werte annehmen.
[in] pvReserved1
Für die zukünftige Verwendung reserviert und muss NULL sein. Dieser Parameter ermöglicht es einer entsprechend privilegierten Verwaltungsanwendung, im Namen eines anderen Benutzers zu handeln.
[in] pvReserved2
Für die zukünftige Verwendung reserviert und muss NULL sein.
[out] phContext
Ein Handle für den eingerichteten Ressourcen-Manager-Kontext. Dieses Handle kann jetzt für andere Funktionen bereitgestellt werden, die versuchen, in diesem Kontext zu arbeiten.
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt die Funktion SCARD_S_SUCCESS zurück.
Wenn die Ausführung der Funktion fehlschlägt, wird ein Fehlercode zurückgegeben. Weitere Informationen finden Sie unter Smartcard-Rückgabewerte.
Hinweise
Das von SCardEstablishContext zurückgegebene Kontexthandle kann von Datenbankabfrage- und -verwaltungsfunktionen verwendet werden. Weitere Informationen finden Sie unter Abfragefunktionen für Smartcarddatenbanken und Smartcard-Datenbankverwaltungsfunktionen.
Verwenden Sie SCardReleaseContext, um einen eingerichteten Ressourcen-Manager-Kontext freizugeben.
Wenn der Client einen Smart Karte-Vorgang in einer Remotesitzung versucht, z. B. in einer Clientsitzung, die auf einem Terminalserver ausgeführt wird, und das verwendete Betriebssystem keine intelligente Karte-Umleitung unterstützt, gibt diese Funktion ERROR_BROKEN_PIPE zurück.
Beispiele
Im folgenden Beispiel wird ein Ressourcen-Manager-Kontext eingerichtet.
SCARDCONTEXT hSC;
LONG lReturn;
// Establish the context.
lReturn = SCardEstablishContext(SCARD_SCOPE_USER,
NULL,
NULL,
&hSC);
if ( SCARD_S_SUCCESS != lReturn )
printf("Failed SCardEstablishContext\n");
else
{
// Use the context as needed. When done,
// free the context by calling SCardReleaseContext.
// ...
}
Anforderungen
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 |