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 gibt den Namen eines intelligenten Karte an (der zuvor in das System eingeführt wurde) 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

Handle, das den Ressourcen-Manager-Kontext für die Abfrage identifiziert. Der Ressourcen-Manager-Kontext kann durch einen vorherigen Aufruf von SCardEstablishContext festgelegt werden. Dieser Parameter darf nicht NULL sein.

[in] szCard

Name des Karte für das System definiert.

[out] pguidProviderId

Bezeichner (GUID) des primären Dienstanbieters. Dieser Anbieter kann über COM aktiviert werden und stellt den Zugriff auf andere Dienste im Karte bereit.

Rückgabewert

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

Rückgabecode BESCHREIBUNG
Erfolgreich
SCARD_S_SUCCESS.
Fehler
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.

Die SCardGetProviderId-Funktion ist eine Datenbankabfragefunktion. Weitere Informationen zu anderen Datenbankabfragefunktionen finden Sie unter Abfragefunktionen für SmartCard-Datenbanken.

Beispiele

Das folgende Beispiel zeigt, wie Sie die Anbieter-ID für die angegebene Karte abrufen. Im Beispiel wird davon ausgegangen, dass hContext ein gültiges Handle ist, das aus einem vorherigen Aufruf der 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.
    // ...
}

Hinweis

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 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

   
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

SCardEstablishContext

SCardListCards

SCardListInterfaces

SCardListReaderGroups

SCardListReaders