IOCTL_SMARTCARD_IS_ABSENT IOCTL (winsmcrd.h)

El código de control IOCTL_SMARTCARD_IS_ABSENT devuelve inmediatamente con STATUS_SUCCESS si no se detecta ninguna tarjeta inteligente actualmente. Si se detectan tarjetas inteligentes, el IOCTL debe estar pendido por el conductor y debe completar la solicitud en la salida de la tarjeta. Al cerrar el identificador de archivo, se cancela automáticamente la suscripción del evento.

Código principal

IRP_MJ_DEVICE_CONTROL

Búfer de entrada

Ninguno.

Búfer de salida

Ninguno.

Bloque de estado

Irp->IoStatus.Status se establece en STATUS_SUCCESS si la solicitud se realiza correctamente. Los códigos de error posibles son:

Código de retorno Descripción
STATUS_PENDING Este código se devuelve cuando se SCARD_ATTR_DEVICE_IN_USE el identificador de atributo.
STATUS_DEVICE_BUSY Este código se devuelve si la operación ya está esperando el evento ausente.
STATUS_INVALID_DEVICE_STATE Este código se devuelve si el dispositivo no puede aceptar la solicitud.
STATUS_INVALID_PARAMETER Este código se devuelve cuando los búferes de entrada o salida no son válidos.
STATUS_DEVICE_POWERED_OFF Este código se devuelve cuando el control de radio de proximidad está desactivado.

Comentarios

Se requieren las siguientes acciones al usar este IOCTL:

  • El controlador debe admitir CancelIo en este IOCTL en lápiz.

  • Se trata de una solicitud administrada por energía. El IOCTL en lápiz mantendrá el controlador en estado de alimentación D0.

Requisitos

Requisito Valor
Header winsmcrd.h

Consulte también

Guía de diseño de comunicación de campo cercano (NFC)

Guía de diseño de tarjetas inteligentes