IOCTL_SMARTCARD_IS_PRESENT IOCTL (winsmcrd.h)
Le code de contrôle IOCTL_SMARTCARD_IS_PRESENT détecte si une carte à puce est actuellement détectée. Si une carte est présente, elle retourne immédiatement avec STATUS_SUCCESS. Si aucune carte à puce n’est détectée, elle s’abonne à l’événement d’arrivée de la carte à puce et est conservée en attente. La fermeture du handle de fichier annule l’événement.
Code principal
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 :
Retour du code | Description |
---|---|
STATUS_PENDING | Ce code est retourné si l’opération attend que la carte à puce approche dans le champ radio. |
STATUS_DEVICE_BUSY | Ce code est retourné si l’opération attend déjà l’événement présent. |
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 pendé gardera le pilote dans un état d’alimentation D0.
- Le pilote doit retourner STATUS_SUCCESS uniquement pour le type pris en charge.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | winsmcrd.h |