IOCTL_NFP_SET_PAYLOAD IOCTL (nfpdev.h)
客户端应用程序发送消息数据并使用 IOCTL_NFP_SET_PAYLOAD 请求确认发布。
主要代码
输入缓冲区
输入缓冲区包含要传输的消息数据。
输出缓冲区
无。
状态块
如果请求成功,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 |