Método ISCardDatabase::ListCards
[El método ListCards 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 ListCards recupera todos los nombres de tarjeta inteligente que coinciden con los identificadores de interfaz (GUID) especificados, la cadena ATR especificada o ambas.
Sintaxis
HRESULT ListCards(
[in] LPBYTEBUFFER pAtr,
[in] LPSAFEARRAY pInterfaceGuids,
[in] LONG localeId,
[out] LPSAFEARRAY *ppCardNames
);
Parámetros
-
pAtr [in]
-
Puntero a una cadena ATR de tarjeta inteligente . La cadena ATR debe empaquetarse en un IByteBuffer.
-
pInterfaceGuids [in]
-
Puntero a SAFEARRAY de identificadores de interfaz COM (GUID) en formato BSTR.
-
localeId [in]
-
Identificador de localización de idioma.
-
ppCardNames [out]
-
Puntero a un SAFEARRAY de BSTR que contiene los nombres de las tarjetas inteligentes que cumplan los parámetros de búsqueda si se realiza 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 |
---|---|
|
Operación completada correctamente. |
|
Parámetro no válido. |
|
Se pasó un puntero incorrecto. |
|
Memoria insuficiente |
Comentarios
Para recuperar todos los lectores o lectores conocidos, llame a ListReaders o ListReaderGroups respectivamente.
Para recuperar el servicio principal o las interfaces de una tarjeta específica GetProviderCardId o ListCardInterfaces 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 nombres de tarjeta inteligente que coinciden con la cadena ATR especificada.
// 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.
}
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 |
|
Biblioteca de tipos |
|
Archivo DLL |
|
IID |
IID_ISCardDatabase se define como 1461AAC8-6810-11D0-918F-00AA00C18068 |
Consulte también