IOCTL_SMARTCARD_IS_PRESENT IOCTL (winsmcrd.h)
El código de control IOCTL_SMARTCARD_IS_PRESENT detecta si se detecta actualmente una tarjeta inteligente. Si hay una tarjeta presente, se devuelve inmediatamente con STATUS_SUCCESS. Si no se detecta ninguna tarjeta inteligente, se suscribe al evento de llegada de la tarjeta inteligente y se mantiene pendiente. Al cerrar el identificador de archivo, se cancela la suscripción del evento.
Código principal
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 si la operación está esperando a que la tarjeta inteligente se acerque al campo de radio. |
STATUS_DEVICE_BUSY | Este código se devuelve si la operación ya está esperando el evento actual. |
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 un estado de alimentación D0.
- El controlador debe devolver STATUS_SUCCESS solo para el tipo admitido.
Requisitos
Requisito | Valor |
---|---|
Header | winsmcrd.h |