IOCTL_NFP_GET_NEXT_TRANSMITTED_MESSAGE IOCTL (nfpdev.h)
Un client intéressé par la réception de notifications qu’un message a été transmis envoie la demande IOCTL_NFP_GET_NEXT_TRANSMITTED_MESSAGE au pilote de proximité.
Aucun
Aucun
Irp->IoStatus.Status est défini sur STATUS_SUCCESS si la demande réussit.
Sinon, état à la condition d’erreur appropriée en tant que code NTSTATUS.
Pour plus d’informations, consultez valeurs NTSTATUS.
- Une application cliente envoie cette IOCTL dans une boucle de contrôle au handle de publication. Deux transmissions distinctes du même message entraînent le déclenchement de deux événements.
- Le client doit envoyer un autre IOCTL chaque fois que l’un pendré est terminé. Le pilote DOIT utiliser des verrous appropriés pour garantir que le nombre d’achèvements réussis de ce IOCTL équivaut au nombre de fois que la publication a été transmise.
-
Les actions suivantes sont requises lors de l’utilisation de ce IOCTL :
- Si ce IOCTL est reçu sur un handle qui n’a pas déjà réussi un IOCTL_NFP_SET_PAYLOAD, le pilote DOIT le terminer avec STATUS_INVALID_DEVICE_STATE.
- Le pilote doit conserver l’équivalent d’un compteur « CompleteEventImmediately » (ULONG ou plus) dans le handle de fichier de publication.
-
Lorsque ce IOCTL est reçu dans le pilote :
- Si le compteur est égal à zéro, le pilote DOIT pender le IOCTL pour la fin ultérieure.
- Si le compteur est supérieur à zéro, le pilote DOIT décrémenter le compteur par un et terminer le IOCTL avec STATUS_SUCCESS immédiatement.
- Si la publication est transmise et qu’aucun IOCTL n’est actuellement suspendu, le pilote DOIT incrémenter le compteur « CompleteEventImmediately » par un.
- Si la publication est transmise alors qu’il existe un IOCTL pendé disponible, le pilote DOIT terminer l’IRP pendré avec STATUS_SUCCESS et NON incrémenter le compteur « CompleteEventImmediately ».
- Si le IOCTL contient une mémoire tampon d’entrée ou de sortie, le pilote DOIT terminer le IOCTL avec STATUS_INVALID_PARAMETER.
- Si ce IOCTL est reçu alors qu’un autre est actuellement suspendu dans le handle de publication, le deuxième (ou version ultérieure) DOIT être terminé avec STATUS_INVALID_DEVICE_STATE.
- Le pilote DOIT prendre en charge CancelIo du IOCTL pendé.
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 8 |
d’en-tête | nfpdev.h |
guide de conception global de communication en champ proche (NFC)
guide de conception de proximité de champ proche (modèle de fournisseur NFP, exigences du pilote)