IOCTL_NFP_GET_NEXT_TRANSMITTED_MESSAGE IOCTL (nfpdev.h)
Ein Client, der an Benachrichtigungen interessiert ist, dass eine Nachricht übertragen wurde, sendet die IOCTL_NFP_GET_NEXT_TRANSMITTED_MESSAGE Anforderung an den Näherungstreiber.
Hauptcode
Eingabepuffer
Nichts
Ausgabepuffer
Nichts
Statusblock
Irp->IoStatus.Status wird auf STATUS_SUCCESS festgelegt, wenn die Anforderung erfolgreich ist.
Andernfalls ist status to the appropriate error condition as a NTSTATUS code.
Weitere Informationen finden Sie unter NTSTATUS Values.
Bemerkungen
- Eine Clientanwendung sendet diese IOCTL in einer Steuerelementschleife an den Publikationshandle. Zwei separate Übertragungen derselben Nachricht würden dazu führen, dass zwei Ereignisse ausgelöst werden.
- Der Client sollte jedes Mal, wenn der Stift abgeschlossen ist, eine weitere IOCTL senden. Der Treiber MUSS geeignete Sperren verwenden, um sicherzustellen, dass die Anzahl der erfolgreichen Vervollständigungen dieses IOCTL mit der Anzahl der Übertragungen der Publikation gleicht.
-
Die folgenden Aktionen sind erforderlich, wenn Sie diese IOCTL verwenden:
- Wenn dieser IOCTL auf einem Handle empfangen wird, dem zuvor kein IOCTL_NFP_SET_PAYLOADerfolgreich war, muss der Treiber es mit STATUS_INVALID_DEVICE_STATE abschließen.
- Der Treiber muss das Äquivalent eines "CompleteEventImmediately"-Zählers (ULONG- oder größer) im Publikationsdateihandle beibehalten.
-
Wenn diese IOCTL im Treiber empfangen wird:
- Wenn der Zähler null ist, muss der Treiber die IOCTL für den späteren Abschluss pendiert haben.
- Wenn der Zähler größer als 0 ist, muss der Treiber den Zähler um einen erhöhen und die IOCTL mit STATUS_SUCCESS sofort abschließen.
- Wenn die Publikation übertragen wird und derzeit keine IOCTL eingestiftet ist, muss der Treiber den Zähler "CompleteEventImmediately" um einen erhöhen.
- Wenn die Publikation übertragen wird, während ein stiftierter IOCTL verfügbar ist, muss der Treiber das stiftete IRP mit STATUS_SUCCESS abschließen und NICHT den Zähler "CompleteEventImmediately" erhöhen.
- Wenn das IOCTL einen Eingabe- oder Ausgabepuffer enthält, muss der Treiber das IOCTL mit STATUS_INVALID_PARAMETER abschließen.
- Wenn diese IOCTL empfangen wird, während ein anderer im Publikationshandle zurzeit eingestiftet wird, muss die zweite (oder höher) mit STATUS_INVALID_DEVICE_STATE abgeschlossen werden.
- Der Treiber MUSS CancelIo des angestifteten IOCTL unterstützen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 8 |
Header- | nfpdev.h |
Siehe auch
Gesamtentwurfsleitfaden für Die Nahfeldkommunikation (Near Field Communication, NFC)
Near Field Proximity Design Guide (Tap and Do, NFP-Anbietermodell, Treiberanforderungen)