Condividi tramite


Metodo ISCardDatabase::ListCardInterfaces

[Il metodo ListCardInterfaces è 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 ListCardInterfaces recupera gli identificatori (GUID) di tutte le interfacce supportate per la smart card specificata.

Sintassi

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

Parametri

bstrCardName [in]

Nome della smart card.

ppInterfaceGuids [out]

Puntatore ai GUID dell'interfaccia in caso di esito positivo; NULL se l'operazione non è riuscita.

Valore restituito

Il metodo restituisce uno dei valori possibili seguenti.

Codice restituito Descrizione
S_OK
Operazione completata correttamente.
E_INVALIDARG
Parametro non valido.
E_POINTER
Un puntatore non valido è stato passato in ppInterfaceGuids.
E_OUTOFMEMORY
Memoria insufficiente.

 

Commenti

Per recuperare il provider di servizi primario della smart card, chiamare GetProviderCardId.

Per recuperare tutte le smart card note, i lettori e i gruppi di lettori chiamano rispettivamente ListCards, ListReaders e ListReaderGroups .

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 degli identificatori delle interfacce supportate per la smart card specificata.

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);
}

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
Scardmgr.h
Libreria dei tipi
Scardmgr.tlb
DLL
Scardssp.dll
IID
IID_ISCardDatabase è definito come 1461AAC8-6810-11D0-918F-00AA00C18068

Vedi anche

GetProviderCardId

ISCardDatabase

ListCards

ListReaderGroups

ListReaders