IOCTL_NFP_SET_PAYLOAD IOCTL (nfpdev.h)

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

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

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

输出缓冲区

没有。

状态块

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

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

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

言论

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

  • 如果在以前未在“Pubs\...” 上打开的句柄上发送此 IOCTL文件名,驱动程序必须使用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)整体设计指南

近场邻近感应设计指南(点击和执行、NFP 提供程序模型、驱动程序要求)