Compartir a través de


Función SCardGetReaderIconA (winscard.h)

La función SCardGetReaderIcon obtiene un icono del lector de tarjetas inteligentes para el nombre de un lector determinado. Esta función no afecta al estado del lector de tarjetas.

Sintaxis

LONG SCardGetReaderIconA(
  [in]      SCARDCONTEXT hContext,
  [in]      LPCSTR       szReaderName,
  [out]     LPBYTE       pbIcon,
  [in, out] LPDWORD      pcbIcon
);

Parámetros

[in] hContext

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

[in] szReaderName

Nombre del lector. Puede obtener este valor llamando a la función SCardListReaders.

[out] pbIcon

Puntero a un búfer que contiene un BLOB del icono de lector de tarjetas inteligentes como leído desde el archivo de icono. Si este valor es NULL, la función omite la longitud del búfer proporcionada en el parámetro pcbIcon, escribe la longitud del búfer que se habría devuelto a pcbIcon si este parámetro no hubiera sido NULL y devuelve un código correcto.

[in, out] pcbIcon

Longitud, en caracteres, del búfer de pbIcon . Este parámetro recibe la longitud real del atributo recibido. Si la longitud del búfer se especifica como SCARD_AUTOALLOCATE, pbIcon se convierte de un puntero a un puntero de bytes y recibe la dirección de un bloque de memoria que contiene el atributo . Este bloque de memoria debe desasignarse con la función 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

El icono debe ser de 256 × 256 píxeles sin ningún canal alfa.

Ejemplos

PBYTE    pbIcon = NULL;
DWORD    cbIcon = SCARD_AUTOALLOCATE;
DWORD    i;
LONG     lReturn;
LPTSTR   szReaderName = "USB Smart Card Reader 0";

// Retrieve the reader's icon.
// hContext was set by a previous call to SCardEstablishContext.
lReturn = SCardGetReaderIcon(hContext,
                         szReaderName,
                         (PBYTE)&pbIcon,
                         &cbIcon);

if ( SCARD_S_SUCCESS != lReturn )
{
    printf("Failed SCardGetReaderIcon - %x\n", lReturn);
    // Take appropriate action.
}
else
{
    // Free the memory when done. 
    lReturn = SCardFreeMemory(hContext, pbIcon);
}

Nota

El encabezado winscard.h define SCardGetReaderIcon 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 8 [solo aplicaciones de escritorio]
servidor mínimo admitido Windows Server 2012 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de winscard.h