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
[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
Valor devuelto
Esta función devuelve valores diferentes en función de si se realiza correctamente o no.
Código devuelto | Descripción |
---|---|
|
SCARD_S_SUCCESS. |
|
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 |