Freigeben über


ISCardDatabase::ListCardInterfaces-Methode

[Die ListCardInterfaces-Methode ist für die Verwendung in den Betriebssystemen verfügbar, die im Abschnitt Anforderungen angegeben sind. Es ist nicht für die Verwendung in Windows Server 2003 mit Service Pack 1 (SP1) und höher, Windows Vista, Windows Server 2008 und nachfolgenden Versionen des Betriebssystems verfügbar. Die Smartcardmodule bieten ähnliche Funktionen.]

Die ListCardInterfaces-Methode ruft die Bezeichner (GUIDs) aller Schnittstellen ab, die für die angegebene intelligente Karte unterstützt werden.

Syntax

HRESULT ListCardInterfaces(
  [in]  BSTR        bstrCardName,
  [out] LPSAFEARRAY *ppInterfaceGuids
);

Parameter

bstrCardName [in]

Name des intelligenten Karte.

ppInterfaceGuids [out]

Zeiger auf die Schnittstellen-GUIDs, falls erfolgreich; NULL , wenn beim Vorgang ein Fehler aufgetreten ist.

Rückgabewert

Die -Methode gibt einen der folgenden möglichen Werte zurück.

Rückgabecode BESCHREIBUNG
S_OK
Operation erfolgreich abgeschlossen.
E_INVALIDARG
Ungültiger Parameter.
E_POINTER
In ppInterfaceGuids wurde ein fehlerhafter Zeiger übergeben.
E_OUTOFMEMORY
Nicht genügend Arbeitsspeicher.

 

Bemerkungen

Rufen Sie GetProviderCardId auf, um den primären Dienstanbieter des intelligenten Karte abzurufen.

Um alle bekannten Smartcards abzurufen, rufen Leser und LesergruppenListCards, ListReaders bzw . ListReaderGroups auf.

Eine Liste aller von dieser Schnittstelle bereitgestellten Methoden finden Sie unter ISCardDatabase.

Zusätzlich zu den oben aufgeführten COM-Fehlercodes gibt diese Schnittstelle möglicherweise einen Intelligenten Karte Fehlercode zurück, wenn eine Smart Karte-Funktion aufgerufen wurde, um die Anforderung abzuschließen. Weitere Informationen finden Sie unter Smartcard-Rückgabewerte.

Beispiele

Das folgende Beispiel zeigt das Abrufen der Bezeichner der Schnittstellen, die für die angegebene intelligente Karte unterstützt werden.

BSTR         bstrCard = NULL;
LPSAFEARRAY  pGuids = NULL;
HRESULT      hr;

bstrCard = SysAllocString(L"GemSAFE");
// Call the function for the specified card.
hr = pISCDataBase->ListCardInterfaces(bstrCard,
                                      &pGuids);
if (FAILED(hr))
{
   printf("Failed ListCardInterfaces\n");
   // Take other error handling action as needed.
}
else
{
   // Use the safe array as needed.
   // ...
   // Free BSTR when done.
   if (bstrCard)
       SysFreeString(bstrCard);
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Server 2003 [nur Desktop-Apps]
Ende des Supports (Client)
Windows XP
Ende des Supports (Server)
Windows Server 2003
Header
Scardmgr.h
Typbibliothek
Scardmgr.tlb
DLL
Scardssp.dll
IID
IID_ISCardDatabase ist definiert als 1461AAC8-6810-11D0-918F-00AA00C18068

Weitere Informationen

GetProviderCardId

ISCardDatabase

ListCards

ListReaderGroups

ListReaders