Partager via


ISCardDatabase::ListCardInterfaces, méthode

[La méthode ListCardInterfaces peut être utilisée dans les systèmes d’exploitation spécifiés dans la section Configuration requise. Il n’est pas disponible pour une utilisation dans Windows Server 2003 avec Service Pack 1 (SP1) et versions ultérieures, Windows Vista, Windows Server 2008 et les versions ultérieures du système d’exploitation. Les modules de carte à puce offrent des fonctionnalités similaires.]

La méthode ListCardInterfaces récupère les identificateurs (GUID) de toutes les interfaces prises en charge pour le smart carte spécifié.

Syntaxe

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

Paramètres

bstrCardName [in]

Nom du carte intelligent.

ppInterfaceGuids [out]

Pointeur vers les GUID d’interface en cas de réussite ; NULL si l’opération a échoué.

Valeur retournée

La méthode retourne l’une des valeurs possibles suivantes.

Code de retour Description
S_OK
Opération exécutée avec succès.
E_INVALIDARG
Paramètre non valide.
E_POINTER
Un pointeur incorrect a été passé dans ppInterfaceGuids.
E_OUTOFMEMORY
Mémoire insuffisante.

 

Notes

Pour récupérer le fournisseur de services principal du smart carte, appelez GetProviderCardId.

Pour récupérer toutes les cartes à puce, lecteurs et groupes de lecteurs connus, appelez Respectivement ListCards, ListReaders et ListReaderGroups .

Pour obtenir la liste de toutes les méthodes fournies par cette interface, consultez ISCardDatabase.

En plus des codes d’erreur COM répertoriés ci-dessus, cette interface peut retourner un code d’erreur de carte intelligent si une fonction de carte intelligente a été appelée pour terminer la demande. Pour plus d’informations, consultez Valeurs de retour de carte à puce.

Exemples

L’exemple suivant montre comment récupérer les identificateurs des interfaces prises en charge pour le carte intelligent spécifié.

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

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2003 [applications de bureau uniquement]
Fin de la prise en charge des clients
Windows XP
Fin de la prise en charge des serveurs
Windows Server 2003
En-tête
Scardmgr.h
Bibliothèque de types
Scardmgr.tlb
DLL
Scardssp.dll
IID
IID_ISCardDatabase est défini comme 1461AAC8-6810-11D0-918F-00AA00C18068

Voir aussi

GetProviderCardId

ISCardDatabase

ListCards

ListReaderGroups

ListReaders