Freigeben über


IOCTL_NFP_GET_NEXT_TRANSMITTED_MESSAGE IOCTL (nfpdev.h)

Ein Client, der Benachrichtigungen erhalten möchte, dass eine Nachricht übertragen wurde, sendet die IOCTL_NFP_GET_NEXT_TRANSMITTED_MESSAGE-Anforderung an den Näherungstreiber.

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabepuffer

Keine

Ausgabepuffer

Keine

Statusblock

Irp-IoStatus.Status> wird auf STATUS_SUCCESS festgelegt, wenn die Anforderung erfolgreich ist.

Andernfalls wird Status zur entsprechenden Fehlerbedingung als NTSTATUS-Code verwendet.

Weitere Informationen finden Sie unter NTSTATUS-Werte.

Hinweise

  • Eine Clientanwendung sendet diese IOCTL in einer Kontrollschleife an das Veröffentlichungshandle. Zwei separate Übertragungen derselben Nachricht führen dazu, dass zwei Ereignisse ausgelöst werden.
  • Der Client sollte jedes Mal, wenn der Stift abgeschlossen ist, eine weitere IOCTL senden. Der Treiber MUSS entsprechende Sperren verwenden, um sicherzustellen, dass die Anzahl der erfolgreichen Vervollständigungen dieser IOCTL der Häufigkeit entspricht, mit der die Veröffentlichung übertragen wurde.
  • Bei Verwendung dieser IOCTL sind die folgenden Aktionen erforderlich:
    • Wenn diese IOCTL für ein Handle empfangen wird, das zuvor keine IOCTL_NFP_SET_PAYLOAD erfolgreich war, MUSS der Treiber sie mit STATUS_INVALID_DEVICE_STATE abschließen.
    • Der Treiber muss das Äquivalent eines "CompleteEventImmediately"-Zählers (ULONG oder größer) im Veröffentlichungsdateihandle 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 verwenden.
      • Wenn der Indikator größer als 0 (null) ist, MUSS der Treiber den Zähler um eins dekrementieren und die IOCTL mit STATUS_SUCCESS sofort abschließen.
    • Wenn die Veröffentlichung übertragen wird und derzeit keine IOCTL geschrieben wird, MUSS der Treiber den Zähler "CompleteEventImmediately" um eins erhöhen.
    • Wenn die Veröffentlichung übertragen wird, während eine stiftete IOCTL verfügbar ist, MUSS der Treiber den geschriebenen IRP mit STATUS_SUCCESS abschließen und den Zähler "CompleteEventImmediately" NICHT erhöhen.
    • Wenn die IOCTL einen Eingabe- oder Ausgabepuffer enthält, MUSS der Treiber die IOCTL mit STATUS_INVALID_PARAMETER abschließen.
    • Wenn diese IOCTL empfangen wird, während sich derzeit eine andere im Veröffentlichungshandle befindet, MUSS die zweite (oder höher) mit STATUS_INVALID_DEVICE_STATE abgeschlossen werden.
    • Der Treiber MUSS CancelIo der per Stift versehenen IOCTL unterstützen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8
Kopfzeile nfpdev.h

Weitere Informationen

Allgemeine Entwurfsanleitung für Near Field Communication (NFC)

Entwurfsleitfaden für Nahfeldnähe (Tippen und Tun, NFP-Anbietermodell, Treiberanforderungen)