Freigeben über


SCardSetCardTypeProviderNameA-Funktion (winscard.h)

Die SCardSetCardTypeProviderName-Funktion gibt den Namen des Moduls (Dynamic Link Library) an, das den Anbieter für einen bestimmten Kartennamen und Anbietertypenthält.

Syntax

LONG SCardSetCardTypeProviderNameA(
  [in] SCARDCONTEXT hContext,
  [in] LPCSTR       szCardName,
  [in] DWORD        dwProviderId,
  [in] LPCSTR       szProvider
);

Parameter

[in] hContext

Behandeln Sie das Ressourcen-Manager-Kontext. Der Ressourcen-Manager-Kontext kann durch einen vorherigen Aufruf von SCardEstablishContextfestgelegt werden. Dieser Wert kann NULL- werden, wenn der Aufruf von SCardCardTypeProviderName nicht an einen bestimmten Kontextweitergeleitet wird.

[in] szCardName

Name des Kartentyps, dem dieser Anbietername zugeordnet ist.

[in] dwProviderId

Bezeichner für den Anbieter, der diesem Kartentyp zugeordnet ist.

Wert Bedeutung
SCARD_PROVIDER_PRIMARY
1
Die Funktion ruft den Namen der smartcardsprimären Dienstanbieters als GUID-Zeichenfolge ab.
SCARD_PROVIDER_CSP
2
Die Funktion ruft den Namen des kryptografischen Dienstanbieters (CSP) ab.
SCARD_PROVIDER_KSP
3
Die Funktion ruft den Namen der Smartcard Schlüsselspeicheranbieters (KSP) ab.
SCARD_PROVIDER_CARD_MODULE
0x80000001
Die Funktion ruft den Namen des Kartenmoduls ab.

[in] szProvider

Eine Zeichenfolge, die den Anbieternamen enthält, der den CSP darstellt.

Rückgabewert

Diese Funktion gibt unterschiedliche Werte zurück, je nachdem, ob sie erfolgreich ist oder fehlschlägt.

Rückgabecode Beschreibung
Success
SCARD_S_SUCCESS.
Fehler
Fehlercode. Weitere Informationen finden Sie unter Smartcard-Rückgabewerte.

Bemerkungen

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.

Diese Funktion legt den Anbieternamen fest, während SCardCardTypeProviderName zum Abrufen des Anbieternamens verwendet werden kann.

Beispiele

Das folgende Beispiel zeigt, wie Sie den Namen des Kartentypanbieters angeben.

LPTSTR            szNewProvName = _T("My Provider Name");
LPTSTR            szCardName = _T("WindowsCard");
LONG              lReturn = SCARD_S_SUCCESS;

// Set the card type provider name.
// hContext was set by SCardEstablishContext.
lReturn = SCardSetCardTypeProviderName(hContext,
                                      szCardName,
                                      SCARD_PROVIDER_CSP,
                                      szNewProvName);
if ( SCARD_S_SUCCESS != lReturn )
{
    printf("Failed SCardSetCardTypeProviderName - %x\n", lReturn);
    exit(1);
}

Anmerkung

The winscard.h header defines SCardSetCardTypeProviderName as an alias that automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. 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 Winscard.lib
DLL- Winscard.dll

Siehe auch

SCardGetCardTypeProviderName