Metodo ISCardDatabase::ListCards
[Il metodo ListCards è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. Non è disponibile per l'uso in Windows Server 2003 con Service Pack 1 (SP1) e versioni successive, Windows Vista, Windows Server 2008 e versioni successive del sistema operativo. I moduli smart card offrono funzionalità simili.
Il metodo ListCards recupera tutti i nomi delle smart card corrispondenti agli identificatori di interfaccia specificati (GUID), alla stringa ATR specificata o a entrambi.
Sintassi
HRESULT ListCards(
[in] LPBYTEBUFFER pAtr,
[in] LPSAFEARRAY pInterfaceGuids,
[in] LONG localeId,
[out] LPSAFEARRAY *ppCardNames
);
Parametri
-
pAtr [in]
-
Puntatore a una stringa ATR della smart card . La stringa ATR deve essere inserita in un pacchetto IByteBuffer.
-
pInterfaceGuids [in]
-
Puntatore a un SAFEARRAY di identificatori di interfaccia COM (GUID) in formato BSTR.
-
localeId [in]
-
Identificatore di localizzazione della lingua.
-
ppCardNames [out]
-
Puntatore a un SAFEARRAY di route BST che contiene i nomi delle smart card che hanno soddisfatto i parametri di ricerca in caso di esito positivo; NULL se l'operazione non è riuscita.
Valore restituito
Il metodo restituisce uno dei valori possibili seguenti.
Codice restituito | Descrizione |
---|---|
|
Operazione completata correttamente. |
|
Parametro non valido. |
|
È stato passato un puntatore non valido. |
|
Memoria insufficiente. |
Commenti
Per recuperare tutti i lettori o i lettori noti, chiamare rispettivamente ListReaders o ListReaderGroups .
Per recuperare rispettivamente il servizio primario o le interfacce di una scheda specifica GetProviderCardId o ListCardInterfaces .
Per un elenco di tutti i metodi forniti da questa interfaccia, vedere ISCardDatabase.
Oltre ai codici di errore COM elencati in precedenza, questa interfaccia può restituire un codice di errore della smart card se è stata chiamata una funzione smart card per completare la richiesta. Per altre informazioni, vedere Valori restituiti della smart card.
Esempio
Nell'esempio seguente viene illustrato il recupero dei nomi delle smart card corrispondenti alla stringa ATR specificata.
// 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.
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows XP [solo app desktop] |
Server minimo supportato |
Windows Server 2003 [solo app desktop] |
Fine del supporto client |
Windows XP |
Fine del supporto server |
Windows Server 2003 |
Intestazione |
|
Libreria dei tipi |
|
DLL |
|
IID |
IID_ISCardDatabase è definito come 1461AAC8-6810-11D0-918F-00AA00C18068 |
Vedi anche