Compartir a través de


Función SCardListInterfacesA (winscard.h)

La función SCardListInterfaces proporciona una lista de interfaces proporcionadas por una tarjeta determinada.

El autor de la llamada proporciona el nombre de una tarjeta inteligente introdujo anteriormente en el subsistema y recibe la lista de interfaces admitidas por la tarjeta.

Sintaxis

LONG SCardListInterfacesA(
  [in]      SCARDCONTEXT hContext,
  [in]      LPCSTR       szCard,
  [out]     LPGUID       pguidInterfaces,
  [in, out] LPDWORD      pcguidInterfaces
);

Parámetros

[in] hContext

Identificador que identifica el de contexto del administrador de recursos de para la consulta. El contexto del administrador de recursos se puede establecer mediante una llamada anterior a SCardEstablishContext. Este parámetro no puede ser NULL.

[in] szCard

Nombre de la tarjeta inteligente que ya se introdujo en el subsistema de tarjeta inteligente .

[out] pguidInterfaces

Matriz de identificadores de interfaz (GUID) que indican las interfaces compatibles con la tarjeta inteligente. Si este valor es null, SCardListInterfaces omite la longitud de la matriz proporcionada en pcguidInterfaces, devolviendo el tamaño de la matriz que se habría devuelto si este parámetro no se hubiera null para pcguidInterfaces y un código correcto.

[in, out] pcguidInterfaces

Tamaño de la matriz pcguidInterfaces y recibe el tamaño real de la matriz devuelta. Si el tamaño de la matriz se especifica como SCARD_AUTOALLOCATE, pcguidInterfaces se convierte en un puntero a un puntero GUID y recibe la dirección de un bloque de memoria que contiene la matriz. Este bloque de memoria debe desasignarse con SCardFreeMemory.

Valor devuelto

Esta función devuelve valores diferentes en función de si se realiza correctamente o no.

Código devuelto Descripción
correcto
SCARD_S_SUCCESS.
error de
Un código de error. Para obtener más información, consulte valores devueltos de tarjeta inteligente.

Observaciones

Esta función no se redirige, pero llamar a la función al intentar una sesión de Escritorio remoto no producirá un error. Solo significa que el resultado será del equipo remoto en lugar del equipo local.

La función SCardListInterfaces es una función de consulta de base de datos. Para obtener más información sobre otras funciones de consulta de base de datos, consulte funciones de consulta de base de datos de tarjeta inteligente.

Ejemplos

En el ejemplo siguiente se muestran las interfaces de una tarjeta inteligente.

LPGUID          pGuids = NULL;
LONG            lReturn;
DWORD           cGuid = SCARD_AUTOALLOCATE;

// Retrieve the list of interfaces.
lReturn = SCardListInterfaces(NULL,
                              (LPCSTR) "MyCard",
                              (LPGUID)&pGuids,
                              &cGuid );
if ( SCARD_S_SUCCESS != lReturn )
{
    printf("Failed SCardListInterfaces\n");
    exit(1);   // Or other appropriate action
}

if ( 0 != cGuid )
{
    // Do something with the array of Guids.
    // Remember to free pGuids when done (by SCardFreeMemory).
    // ...
}

Nota

El encabezado winscard.h define SCardListInterfaces como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows XP [solo aplicaciones de escritorio]
servidor mínimo admitido Windows Server 2003 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de winscard.h
biblioteca de Winscard.lib
DLL de Winscard.dll

Consulte también

SCardEstablishContext

SCardFreeMemory

SCardGetProviderId

SCardListCards

SCardListReaderGroups

SCardListReaders