Compartir a través de


Función SCardGetStatusChangeA (winscard.h)

La función SCardGetStatusChange bloquea la ejecución hasta que cambia la disponibilidad actual de las tarjetas en un conjunto específico de lectores.

El autor de la llamada proporciona una lista de lectores supervisar mediante una matriz de SCARD_READERSTATE y la cantidad máxima de tiempo (en milisegundos) que está dispuesto a esperar a que se produzca una acción en uno de los lectores enumerados. Tenga en cuenta que SCardGetStatusChange usa el valor proporcionado por el usuario en los miembros de dwCurrentState de la matriz rgReaderStatesSCARD_READERSTATE como definición del estado de actual de los lectores. La función devuelve cuando hay un cambio en la disponibilidad, después de rellenar los dwEventState miembros de rgReaderStates adecuadamente.

Sintaxis

LONG SCardGetStatusChangeA(
  [in]      SCARDCONTEXT         hContext,
  [in]      DWORD                dwTimeout,
  [in, out] LPSCARD_READERSTATEA rgReaderStates,
  [in]      DWORD                cReaders
);

Parámetros

[in] hContext

Identificador que identifica el contexto del administrador de recursos . El contexto del administrador de recursos se establece mediante una llamada anterior a la función SCardEstablishContext.

[in] dwTimeout

Cantidad máxima de tiempo, en milisegundos, para esperar una acción. Un valor de cero hace que la función devuelva inmediatamente. Un valor de INFINITE hace que esta función nunca agote el tiempo de espera.

[in, out] rgReaderStates

Matriz de SCARD_READERSTATE estructuras que especifican los lectores que se van a inspeccionar y que recibe el resultado.

Para recibir una notificación de la llegada de un nuevo lector de tarjetas inteligentes, establezca el szReader miembro de una estructura de SCARD_READERSTATE en "\\? PnP?\Notification" y establece todos los demás miembros de esa estructura en cero.

Importante Cada miembro de cada estructura de esta matriz debe inicializarse en cero y, a continuación, establecer en valores específicos según sea necesario. Si no se hace esto, se producirá un error en la función en situaciones que impliquen lectores remotos de tarjetas.
 

[in] cReaders

Número de elementos de la matriz de rgReaderStates.

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

La función SCardGetStatusChange es una función de seguimiento de tarjeta inteligente. Para obtener más información sobre otras funciones de seguimiento, consulte funciones de seguimiento de tarjetas inteligentes.

Ejemplos

Para obtener información sobre cómo llamar a esta función, vea el ejemplo de SCardLocateCards.

Nota

El encabezado winscard.h define SCardGetStatusChange 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

SCARD_READERSTATE

SCardCancel

SCardEstablishContext

SCardLocateCards