IOCTL_SMARTCARD_IS_PRESENT IOCTL (winsmcrd.h)
Le code de contrôle IOCTL_SMARTCARD_IS_PRESENT détecte si un carte intelligent est actuellement détecté. Si un carte est présent, il retourne immédiatement avec STATUS_SUCCESS. Si aucune carte intelligente n’est détectée, elle s’abonne à l’événement d’arrivée smart carte et reste en attente. La fermeture du handle de fichier désactive 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 :
Code de retour | Description |
---|---|
STATUS_PENDING | Ce code est retourné si l’opération attend que le carte intelligent s’approche du champ radio. |
STATUS_DEVICE_BUSY | Ce code est retourné si l’opération est déjà en attente de 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 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 requête gérée par l’alimentation. Le IOCTL suspendu maintient le pilote dans un état d’alimentation D0.
- Le pilote doit retourner STATUS_SUCCESS uniquement pour le type pris en charge.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | winsmcrd.h |
Voir aussi
Guide de conception de la communication en champ proche (NFC)