estructura de SCARD_READERSTATEA (winscard.h)

Las funciones usan la estructura SCARD_READERSTATE para realizar el seguimiento de tarjetas inteligentes dentro de los lectores.

Sintaxis

typedef struct {
  LPCSTR szReader;
  LPVOID pvUserData;
  DWORD  dwCurrentState;
  DWORD  dwEventState;
  DWORD  cbAtr;
  BYTE   rgbAtr[36];
} SCARD_READERSTATEA, *PSCARD_READERSTATEA, *LPSCARD_READERSTATEA;

Miembros

szReader

Puntero al nombre del lector que se está supervisando.

Establezca el valor de este miembro en "\\? PnP?\Notification" y los valores de todos los demás miembros a cero para recibir una notificación de la llegada de un nuevo lector de tarjetas inteligentes.

pvUserData

No se usa en el subsistema de tarjetas inteligentes. La aplicación usa este miembro.

dwCurrentState

Estado actual del lector, tal como lo ve la aplicación. Este campo puede tomar cualquiera de los valores siguientes, en combinación, como máscara de bits.

Value Significado
SCARD_STATE_UNAWARE
La aplicación no es consciente del estado actual y desea saberlo. El uso de este valor da como resultado un retorno inmediato de los servicios de supervisión de transición de estado. Esto se representa mediante todos los bits establecidos en cero.
SCARD_STATE_IGNORE
La aplicación no está interesada en este lector y no debe tenerse en cuenta durante las operaciones de supervisión. Si se establece este valor de bit, se omiten todos los demás bits.
SCARD_STATE_UNAVAILABLE
La aplicación espera que este lector no esté disponible para su uso. Si se establece este bit, se omiten todos los bits siguientes.
SCARD_STATE_EMPTY
La aplicación espera que no haya ninguna tarjeta en el lector. Si se establece este bit, se omiten todos los bits siguientes.
SCARD_STATE_PRESENT
La aplicación espera que haya una tarjeta en el lector.
SCARD_STATE_ATRMATCH
La aplicación espera que haya una tarjeta en el lector con una ATR que coincida con una de las tarjetas de destino. Si se establece este bit, se supone SCARD_STATE_PRESENT. Este bit no tiene ningún significado para SCardGetStatusChange más allá de SCARD_STATE_PRESENT.
SCARD_STATE_EXCLUSIVE
La aplicación espera que otra aplicación asigne la tarjeta en el lector para uso exclusivo. Si se establece este bit, se supone SCARD_STATE_PRESENT.
SCARD_STATE_INUSE
La aplicación espera que la tarjeta del lector esté en uso por una o varias aplicaciones, pero se puede conectar a en modo compartido. Si se establece este bit, se supone SCARD_STATE_PRESENT.
SCARD_STATE_MUTE
La aplicación espera que haya una tarjeta que no responda en el lector.
SCARD_STATE_UNPOWERED
Esto implica que la tarjeta del lector no se ha encendido.

dwEventState

Estado actual del lector, conocido por el administrador de recursos de tarjeta inteligente. Este campo puede tomar cualquiera de los valores siguientes, en combinación, como máscara de bits.

Value Significado
SCARD_STATE_IGNORE
Este lector debe omitirse.
SCARD_STATE_CHANGED
Hay una diferencia entre el estado que cree la aplicación y el estado conocido por el administrador de recursos. Cuando se establece este bit, la aplicación puede suponer que se ha producido un cambio de estado significativo en este lector.
SCARD_STATE_UNKNOWN
El administrador de recursos no reconoce el nombre del lector especificado. Si se establece este bit, también se establecerá SCARD_STATE_CHANGED y SCARD_STATE_IGNORE.
SCARD_STATE_UNAVAILABLE
El estado real de este lector no está disponible. Si se establece este bit, se borran todos los bits siguientes.
SCARD_STATE_EMPTY
No hay ninguna tarjeta en el lector. Si se establece este bit, se borrarán todos los bits siguientes.
SCARD_STATE_PRESENT
Hay una tarjeta en el lector.
SCARD_STATE_ATRMATCH
Hay una tarjeta en el lector con una ATR que coincida con una de las tarjetas de destino. Si se establece este bit, también se establecerá SCARD_STATE_PRESENT. Este bit solo se devuelve en la función SCardLocateCards .
SCARD_STATE_EXCLUSIVE
Otra aplicación asigna la tarjeta del lector para su uso exclusivo. Si se establece este bit, también se establecerá SCARD_STATE_PRESENT.
SCARD_STATE_INUSE
La tarjeta del lector está en uso por una o varias aplicaciones, pero se puede conectar a en modo compartido. Si se establece este bit, también se establecerá SCARD_STATE_PRESENT.
SCARD_STATE_MUTE
Hay una tarjeta que no responde en el lector.
SCARD_STATE_UNPOWERED
Esto implica que la tarjeta del lector no se ha encendido.

cbAtr

Número de bytes en el ATR devuelto.

rgbAtr[36]

ATR de la tarjeta insertada, con bytes de alineación adicionales.

Comentarios

Nota

El encabezado winscard.h define SCARD_READERSTATE como un 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 neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

   
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado winscard.h

Consulte también

SCardGetStatusChange

SCardLocateCards