Freigeben über


ISCardDatabase::ListCards-Methode

[Die ListCards-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 ListCards-Methode ruft alle Smart Karte Namen ab, die mit den angegebenen Schnittstellenbezeichnern (GUIDs), der angegebenen ATR-Zeichenfolge oder beidem übereinstimmen.

Syntax

HRESULT ListCards(
  [in]  LPBYTEBUFFER pAtr,
  [in]  LPSAFEARRAY  pInterfaceGuids,
  [in]  LONG         localeId,
  [out] LPSAFEARRAY  *ppCardNames
);

Parameter

pAtr [in]

Zeiger auf eine intelligente Karte ATR-Zeichenfolge. Die ATR-Zeichenfolge muss in einen IByteBuffer gepackt werden.

pInterfaceGuids [in]

Zeiger auf ein SAFEARRAY von COM-Schnittstellenbezeichnern (GUIDs) im BSTR-Format.

localeId [in]

Sprachlokalisierungsbezeichner.

ppCardNames [out]

Zeiger auf eine SAFEARRAY von BSTRs, die die Namen der Smartcards enthält, die bei erfolgreicher Ausführung die Suchparameter erfüllt haben; 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
Ein fehlerhafter Zeiger wurde übergeben.
E_OUTOFMEMORY
Nicht genügend Arbeitsspeicher.

 

Bemerkungen

Um alle bekannten Reader oder Leser abzurufen, rufen Sie ListReaders bzw . ListReaderGroups auf.

Um den primären Dienst oder die Schnittstellen eines bestimmten Karte GetProviderCardId bzw. ListCardInterfaces abzurufen.

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 Smart Karte Namen, die mit der angegebenen ATR-Zeichenfolge übereinstimmen.

// Define or determine byAtr as needed for your ATR use.
BYTE byAtr[] = {0x3b,0x27,0x00,0x80,0x65,0xa2,0x0c,0x01,0x01,0x37};
LPSAFEARRAY pSafeArray = NULL;
HRESULT          hr;

// pIByteBuff is a pointer to an instance of IByteBuffer.
hr = pIByteBuff->Initialize(sizeof(byAtr), byAtr);

// Call the function for the specified ATR.
hr = pISCDataBase->ListCards(pIByteBuff,
                             NULL,
                             0,
                             &pSafeArray);
if (FAILED(hr))
{
   printf("Failed ListCards\n");
   // Take other error handling action as needed.
}
else
{
   // Use the safe array as needed.
}

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

Siehe auch

GetProviderCardId

ISCardDatabase

ListCardInterfaces

ListReaderGroups

ListReaders