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