IOCTL_IEEE1284_NEGOTIATE IOCTL (ntddpar.h)
IOCTL_IEEE1284_NEGOTIATE请求设置用于并行设备的读取和写入协议。 此请求要求将并行设备附加到的并行端口锁定并选择并行设备。 用于并行端口的系统提供的总线驱动程序与并行设备协商,以确定主机芯片集和并行设备在客户端指定的模式之间支持的最快模式。 并行端口总线驱动程序将默认读取和写入模式设置为协商模式。
有关详细信息,请参阅 为并行设备设置和清除通信模式。
主要代码
输入缓冲区
AssociatedIrp.SystemBuffer 成员指向客户端为模式信息的输入和输出分配的 PARCLASS_NEGOTIATION_MASK 结构。 客户端设置 usReadMask ,并 usWriteMask 成员。
输入缓冲区长度
Parameters.DeviceIoControl.InputBufferLength 成员设置为PARCLASS_NEGOTIATION_MASK结构的大小(以字节为单位)。
输出缓冲区
AssociatedIrp.SystemBuffer 指向系统为并行端口提供的总线驱动程序用于输出模式信息的PARCLASS_NEGOTIATION_MASK结构。 并行端口总线驱动程序将 usReadMask ,并将 usWriteMask 成员设置为协商模式。
输出缓冲区长度
PARCLASS_NEGOTIATION_MASK 结构的长度。
状态块
如果请求成功,则 信息 成员设置为PARCLASS_NEGOTIATION_MASK结构的大小(以字节为单位)。 否则,信息 成员设置为零。
状态 成员设置为设备控制请求为并行设备返回的泛型状态值之一或以下值:
STATUS_INVALID_PARAMETER
Parameters.DeviceIoControl.InputBufferLength 成员的值小于PARCLASS_NEGOTIATION_MASK的大小(以字节为单位)。
要求
要求 | 价值 |
---|---|
标头 | ntddpar.h (包括 Ntddpar.h) |