IOCTL_NFP_SET_PAYLOAD IOCTL (nfpdev.h)

客户端应用程序发送消息数据并使用 IOCTL_NFP_SET_PAYLOAD 请求确认发布。

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

输入缓冲区包含要传输的消息数据。

输出缓冲区

无。

状态块

如果请求成功,Irp-IoStatus.Status> 设置为 STATUS_SUCCESS。

否则,状态为相应的错误条件作为 NTSTATUS 代码。

有关详细信息,请参阅 NTSTATUS 值

注解

使用此 IOCTL 时,需要执行以下操作:

  • 如果此 IOCTL 在以前未在“Pubs\...” 上打开的句柄上发送文件名,驱动程序必须使用STATUS_INVALID_DEVICE_STATE完成它。
  • 消息数据为写入一次。 如果此 IOCTL 成功一次,则必须使用 STATUS_INVALID_DEVICE_STATE 完成在同一句柄上收到的任何后续IOCTL_NFP_SET_PAYLOAD。
  • 如果 IOCTL 包含输出缓冲区,则驱动程序必须使用STATUS_INVALID_PARAMETER完成 IOCTL。
  • 如果输入缓冲区大于驱动程序的最大消息大小,驱动程序必须使用STATUS_INVALID_BUFFER_SIZE完成 IOCTL。
  • 如果任何设备在此 IOCTL 成功后、句柄关闭之前成为近似设备,则消息数据 (及其类型) 必须仅传输一次到近似设备。
  • 如果在关闭句柄之前,同一 (或不同的) 设备再次变为近似,则必须再次传输消息。
  • 如果此 IOCTL 成功完成时设备当前是近端设备,则 (的消息数据及其类型) 必须仅 () 传输到近端设备一次。 即使句柄立即关闭,也是如此。

要求

要求
最低受支持的客户端 Windows 8
标头 nfpdev.h

另请参阅

近场通信 (NFC) 总体设计指南

近场邻近感应设计指南 (Tap and Do、NFP 提供程序模型、驱动程序要求)