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 |
|---|---|
|
Operation erfolgreich abgeschlossen. |
|
Ungültiger Parameter. |
|
Ein fehlerhafter Zeiger wurde übergeben. |
|
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 |
|
| Typbibliothek |
|
| DLL |
|
| IID |
IID _ ISCardDatabase ist als 1461AAC8-6810-11D0-918F-00AA00C18068 definiert. |