Freigeben über


SCardGetProviderIdA-Funktion (winscard.h)

Die SCardGetProviderId-Funktion gibt den Bezeichner (GUID) des primären Dienstanbieters für eine bestimmte Karte zurück.

Der Aufrufer stellt den Namen einer Smartcard- (zuvor im System eingeführt) bereit und empfängt den registrierten Bezeichner der GUID des primären Dienstanbieters, sofern vorhanden.

Syntax

LONG SCardGetProviderIdA(
  [in]  SCARDCONTEXT hContext,
  [in]  LPCSTR       szCard,
  [out] LPGUID       pguidProviderId
);

Parameter

[in] hContext

Behandeln Sie die Ressourcen-Manager-Kontext für die Abfrage. Der Ressourcen-Manager-Kontext kann durch einen vorherigen Aufruf von SCardEstablishContextfestgelegt werden. Dieser Parameter kann nicht NULL-werden.

[in] szCard

Name der karte, die für das System definiert ist.

[out] pguidProviderId

ID (GUID) des primären Dienstanbieters. Dieser Anbieter kann mit COM aktiviert werden und liefert Zugriff auf andere Dienste auf der Karte.

Rückgabewert

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

Rückgabecode Beschreibung
Erfolg
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.

Die SCardGetProviderId Funktion ist eine Datenbankabfragefunktion. Weitere Informationen zu anderen Datenbankabfragefunktionen finden Sie unter SmartCard-Datenbankabfragefunktionen.

Beispiele

Das folgende Beispiel zeigt, wie Die Anbieter-ID für die angegebene Karte abgerufen wird. Im Beispiel wird davon ausgegangen, dass "hContext" ein gültiges Handle ist, das aus einem vorherigen Aufruf des SCardEstablishContext Funktion abgerufen wurde und dass "MyCardName" durch einen vorherigen Aufruf der SCardIntroduceCardType--Funktion eingeführt wurde.

GUID    guidProv;
LONG    lReturn;

lReturn = SCardGetProviderId(hContext, 
                             L"MyCardName",
                             &guidProv);
if ( SCARD_S_SUCCESS != lReturn )
    printf("Failed SCardGetProviderId - %x\n", lReturn);
else
{
    // Use the provider GUID as needed.
    // ...
}

Anmerkung

Der winscard.h-Header definiert SCardGetProviderId 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 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

SCardEstablishContext-

SCardListCards-

SCardListInterfaces

SCardListReaderGroups

SCardListReaders-