SCardGetCardTypeProviderNameA-Funktion (winscard.h)
Die SCardGetCardTypeProviderName-Funktion gibt den Namen des Moduls (Dynamic Link Library) zurück, das den Anbieter für einen angegebenen Karte Namen und Anbietertyp enthält.
Syntax
LONG SCardGetCardTypeProviderNameA(
[in] SCARDCONTEXT hContext,
[in] LPCSTR szCardName,
[in] DWORD dwProviderId,
[out] CHAR *szProvider,
[in, out] LPDWORD pcchProvider
);
Parameter
[in] hContext
Handle, das den Ressourcen-Manager-Kontext identifiziert. Der Ressourcen-Manager-Kontext kann durch einen vorherigen Aufruf von SCardEstablishContext festgelegt werden. Dieser Wert kann NULL sein, wenn der Aufruf von SCardGetCardTypeProviderName nicht an einen bestimmten Kontext weitergeleitet wird.
[in] szCardName
Name des Karte Typs, dem dieser Anbietername zugeordnet ist.
[in] dwProviderId
Bezeichner für den Anbieter, der diesem Karte Typ zugeordnet ist.
Wert | Bedeutung |
---|---|
|
Die Funktion ruft den Namen des primären Dienstanbieters des intelligenten Karte als GUID-Zeichenfolge ab. |
|
Die Funktion ruft den Namen des Kryptografiedienstanbieters ab. |
|
Die Funktion ruft den Namen des Smart Karte Schlüsselspeicheranbieters (KSP) ab. |
|
Die Funktion ruft den Namen des Karte Moduls ab. |
[out] szProvider
Zeichenfolgenvariable, um den Anbieternamen nach erfolgreichem Abschluss dieser Funktion zu erhalten.
[in, out] pcchProvider
Zeiger auf den DWORD-Wert . Bei der Eingabe stellt pcchProvider die Länge des szProvider-Puffers in Zeichen bereit. Wenn dieser Wert SCARD_AUTOALLOCATE ist, wird szProvider in einen Zeiger auf einen Bytezeiger konvertiert und empfängt die Adresse eines Speicherblocks, der die Zeichenfolge enthält. Dieser Speicherblock muss durch Aufrufen von SCardFreeMemory aufgehoben werden.
Bei der Ausgabe stellt dieser Wert die tatsächliche Anzahl von Zeichen dar, einschließlich des NULL-Abschlusszeichens , in der Variablen szProvider .
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. |
Hinweise
Diese Funktion wird nicht umgeleitet, aber das Aufrufen der Funktion in einer Remotedesktopsitzung führt nicht zu einem Fehler. Dies bedeutet nur, dass das Ergebnis vom Remotecomputer statt vom lokalen Computer stammt.
Nach erfolgreicher Ausführung dieser Funktion kann der Wert in szProvider als dritter Parameter in einem Aufruf von CryptAcquireContext verwendet werden.
Beispiele
Im folgenden Beispiel wird gezeigt, wie der Anbietername für den angegebenen Leserkontext abgerufen wird. Im Beispiel wird davon ausgegangen, dass hContext ein gültiges Handle ist, das aus einem vorherigen Aufruf der SCardEstablishContext-Funktion abgerufen wurde.
LPTSTR szProvider = NULL;
LPTSTR szCardName = _T("WindowsCard");
DWORD chProvider = SCARD_AUTOALLOCATE;
LONG lReturn = SCARD_S_SUCCESS;
// Retrieve the provider name.
// hContext was set by SCardEstablishContext.
lReturn = SCardGetCardTypeProviderName(hContext,
szCardName,
SCARD_PROVIDER_CSP,
(LPTSTR)&szProvider,
&chProvider);
if (SCARD_S_SUCCESS == lReturn)
{
BOOL fSts = TRUE;
HCRYPTPROV hProv = NULL;
// Acquire a Cryptographic operation context.
fSts = CryptAcquireContext(&hProv,
NULL,
szProvider,
PROV_RSA_FULL,
0);
// Perform Cryptographic operations with smart card
// ...
// Free memory allocated by SCardGetCardTypeProviderName.
lReturn = SCardFreeMemory(hContext, szProvider);
}
Hinweis
Der winscard.h-Header definiert SCardGetCardTypeProviderName 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 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