共用方式為


IOCTL_NFP_GET_NEXT_TRANSMITTED_MESSAGE IOCTL (nfpdev.h)

想要接收訊息已傳輸之通知的用戶端,會將 IOCTL_NFP_GET_NEXT_TRANSMITTED_MESSAGE 要求傳送至鄰近驅動程式。

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

輸出緩衝區

狀態區塊

如果要求成功,Irp-IoStatus.Status> 會設定為 STATUS_SUCCESS。

否則,狀態為適當的錯誤狀況為NTSTATUS程式碼。

如需詳細資訊,請參閱 NTSTATUS值

備註

  • 用戶端應用程式會將控件迴圈中的這個 IOCTL 傳送至發行集句柄。 相同訊息的兩個個別傳輸會導致觸發兩個事件。
  • 每次完成畫筆時,客戶端應該傳送另一個 IOCTL。 驅動程式必須使用適當的鎖定,以確保此 IOCTL 成功完成次數等於已傳輸出版物的次數。
  • 使用此 IOCTL 時需要下列動作:
    • 如果在先前未成功 IOCTL_NFP_SET_PAYLOAD的句柄上收到這個 IOCTL,驅動程式必須以STATUS_INVALID_DEVICE_STATE完成。
    • 驅動程式必須維護 「CompleteEventImmediately」 計數器的對等專案, (ULONG 或更大的) 在發行集檔句柄中。
    • 在驅動程式中收到此 IOCTL 時:
      • 如果計數器為零,則驅動程序必須畫筆 IOCTL 以供稍後完成。
      • 如果計數器大於零,則驅動程式必須以一個遞減計數器,然後立即完成 IOCTL STATUS_SUCCESS。
    • 如果傳送發行集,且目前沒有IOCTL畫筆,驅動程序必須逐一遞增 「CompleteEventImmediately」 計數器。
    • 如果發行集在有可用的手寫筆 IOCTL 時傳輸,驅動程式必須以STATUS_SUCCESS完成畫筆 IRP,且 NOT 遞增 “CompleteEventImmediately” 計數器。
    • 如果 IOCTL 包含輸入或輸出緩衝區,驅動程式必須使用 STATUS_INVALID_PARAMETER完成 IOCTL。
    • 如果收到此 IOCTL,而另一個目前在出版物句柄中畫筆,則必須使用STATUS_INVALID_DEVICE_STATE完成第二個 (或更新版本) 。
    • 驅動程式必須支援手寫IOCTL的 CancelIo。

規格需求

需求
最低支援的用戶端 Windows 8
標頭 nfpdev.h

另請參閱

接近現場通訊 (NFC) 整體設計指南

近欄位鄰近設計指南 (點選和 Do、NFP 提供者模型、驅動程式需求)