IOCTL_SMARTCARD_IS_ABSENT IOCTL (winsmcrd.h)

Le code de contrôle IOCTL_SMARTCARD_IS_ABSENT retourne immédiatement avec STATUS_SUCCESS si aucune carte intelligente n’est actuellement détectée. Si des cartes à puce sont détectées, l’IOCTL doit être suspendu par le conducteur et il doit compléter la demande à carte départ. La fermeture du handle de fichier annule automatiquement l’événement.

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d'entrée

Aucun.

Mémoire tampon de sortie

Aucun.

Bloc d’état

Irp->IoStatus.Status est défini sur STATUS_SUCCESS si la demande réussit. Les codes d’erreur possibles sont les suivants :

Code de retour Description
STATUS_PENDING Ce code est retourné lorsque l’ID d’attribut est SCARD_ATTR_DEVICE_IN_USE.
STATUS_DEVICE_BUSY Ce code est retourné si l’opération attend déjà l’événement absent.
STATUS_INVALID_DEVICE_STATE Ce code est retourné si l’appareil ne peut pas accepter la demande.
STATUS_INVALID_PARAMETER Ce code est retourné lorsque les mémoires tampons d’entrée ou de sortie ne sont pas valides.
STATUS_DEVICE_POWERED_OFF Ce code est retourné lorsque le contrôle radio de proximité est désactivé.

Remarques

Les actions suivantes sont requises lors de l’utilisation de ce IOCTL :

  • Le pilote doit prendre en charge CancelIo sur ce IOCTL suspendu.

  • Il s’agit d’une demande gérée par l’alimentation. L’IOCTL suspendu maintient le pilote dans l’état d’alimentation D0.

Configuration requise

Condition requise Valeur
En-tête winsmcrd.h

Voir aussi

Guide de conception nfc (Near Field Communication)

Guide de conception smart carte