ISCardDatabase::ListCards-Methode

[Die ListCards-Methode ist für die Verwendung in den Im Abschnitt Anforderungen angegebenen Betriebssystemen verfügbar. 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 Smartcardnamen ab, die mit den angegebenen Schnittstellenbezeichnern (GUIDs), der angegebenen ATR-Zeichenfolgeoder beiden übereinstimmen.

Syntax

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

Parameter

pAtr [ In]

Zeiger auf eine SMARTCARD-ATR-Zeichenfolge. Die ATR-Zeichenfolge muss in eine IByteBuffer-Zeichenfolge gepackt werden.

pInterfaceGuids [ In]

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

localeId [ In]

Sprachlokalisierungsbezeichner.

ppCardNames [ out]

Zeiger auf ein SAFEARRAY von BSTRs, das die Namen der Smartcards enthält, die die Suchparameter bei Erfolg erfüllt haben; NULL, wenn der Vorgang fehlgeschlagen 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-ZEIGER
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.

So rufen Sie den primären Dienst oder die Schnittstellen einer bestimmten Karte getProviderCardId bzw. ListCardInterfaces ab.

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 Smartcard-Fehlercode zurück, wenn eine Smartcardfunktion aufgerufen wurde, um die Anforderung zu erfüllen. Weitere Informationen finden Sie unter Smartcard-Rückgabewerte.

Beispiele

Das folgende Beispiel zeigt das Abrufen der Smartcardnamen, 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.
}

Requirements (Anforderungen)

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows Nur [ XP-Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Nur Server [ 2003-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 als 1461AAC8-6810-11D0-918F-00AA00C18068 definiert.

Weitere Informationen

GetProviderCardId

ISCardDatabase

ListCardInterfaces

ListReaderGroups

ListReaders