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 à puce n’est actuellement détectée. Si des cartes à puce sont détectées, le IOCTL doit être suspendu par le conducteur et il doit effectuer la demande de départ de la carte. 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 cette IOCTL pendée.

  • Il s’agit d’une demande gérée par l’alimentation. Le IOCTL pendré maintient le pilote en état d’alimentation D0.

Configuration requise

   
En-tête winsmcrd.h

Voir aussi

Guide de conception de communication en champ proche (NFC)

Guide de conception de carte à puce