IOCTL_IEEE1284_NEGOTIATE IOCTL (ntddpar.h)

IOCTL_IEEE1284_NEGOTIATE请求设置用于并行设备的读取和写入协议。 此请求要求锁定并行设备所附加到的并行端口,并选择并行设备。 系统提供的用于并行端口的总线驱动程序与并行设备协商,从客户端指定的模式中确定主机芯片集和并行设备支持的最快模式。 并行端口总线驱动程序将默认读取和写入模式设置为协商模式。

有关详细信息,请参阅 为并行设备设置和清除通信模式

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

AssociatedIrp.SystemBuffer 成员指向客户端为模式信息的输入和输出分配的PARCLASS_NEGOTIATION_MASK结构。 客户端设置 usReadMaskusWriteMask 成员。

输入缓冲区长度

Parameters.DeviceIoControl.InputBufferLength 成员设置为PARCLASS_NEGOTIATION_MASK结构的大小(以字节为单位)。

输出缓冲区

AssociatedIrp.SystemBuffer 指向系统提供的并行端口总线驱动程序用于输出模式信息的PARCLASS_NEGOTIATION_MASK结构。 并行端口总线驱动程序将 usReadMaskusWriteMask 成员设置为协商模式。

输出缓冲区长度

PARCLASS_NEGOTIATION_MASK 结构的长度。

状态块

如果请求成功, 则信息 成员设置为PARCLASS_NEGOTIATION_MASK结构的大小(以字节为单位)。 否则, 信息 成员设置为零。

Status 成员设置为并行设备的设备控制请求返回的泛型状态值之一或以下值:

STATUS_INVALID_PARAMETER

Parameters.DeviceIoControl.InputBufferLength 成员的值小于PARCLASS_NEGOTIATION_MASK的大小(以字节为单位)。

要求

要求
Header ntddpar.h (包括 Ntddpar.h)

另请参阅

PARCLASS_NEGOTIATION_MASK

IOCTL_PAR_GET_DEVICE_CAPS

IOCTL_PAR_GET_DEFAULT_MODES

IOCTL_IEEE1284_GET_MODE