Compartir a través de


Método ISCardDatabase::ListCardInterfaces

[El método ListCardInterfaces está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. No está disponible para su uso en Windows Server 2003 con Service Pack 1 (SP1) y versiones posteriores, Windows Vista, Windows Server 2008 y versiones posteriores del sistema operativo. Los módulos de tarjeta inteligente proporcionan una funcionalidad similar.]

El método ListCardInterfaces recupera los identificadores (GUID) de todas las interfaces admitidas para la tarjeta inteligente especificada.

Sintaxis

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

Parámetros

bstrCardName [in]

Nombre de la tarjeta inteligente.

ppInterfaceGuids [out]

Puntero a los GUID de interfaz si se ejecuta correctamente; NULL si se produjo un error en la operación.

Valor devuelto

El método devuelve uno de los siguientes valores posibles.

Código devuelto Descripción
S_OK
Operación completada correctamente.
E_INVALIDARG
Parámetro no válido.
E_POINTER
Se pasó un puntero incorrecto en ppInterfaceGuids.
E_OUTOFMEMORY
Memoria insuficiente

 

Comentarios

Para recuperar el proveedor de servicios principal de la tarjeta inteligente, llame a GetProviderCardId.

Para recuperar todas las tarjetas inteligentes, lectores y grupos de lectoresconocidos llaman a ListCards, ListReaders y ListReaderGroups respectivamente.

Para obtener una lista de todos los métodos proporcionados por esta interfaz, consulte ISCardDatabase.

Además de los códigos de error COM enumerados anteriormente, esta interfaz puede devolver un código de error de tarjeta inteligente si se llamó a una función de tarjeta inteligente para completar la solicitud. Para obtener más información, consulte Valores devueltos de tarjeta inteligente.

Ejemplos

En el ejemplo siguiente se muestra cómo recuperar los identificadores de las interfaces admitidas para la tarjeta inteligente especificada.

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

Requisitos

Requisito Value
Cliente mínimo compatible
Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2003 [solo aplicaciones de escritorio]
Fin de compatibilidad de cliente
Windows XP
Fin de compatibilidad de servidor
Windows Server 2003
Encabezado
Scardmgr.h
Biblioteca de tipos
Scardmgr.tlb
Archivo DLL
Scardssp.dll
IID
IID_ISCardDatabase se define como 1461AAC8-6810-11D0-918F-00AA00C18068

Consulte también

GetProviderCardId

ISCardDatabase

ListCards

ListReaderGroups

ListReaders