Compartir a través de


IOCTL_IEEE1284_NEGOTIATE IOCTL (ntddpar.h)

La solicitud IOCTL_IEEE1284_NEGOTIATE establece los protocolos de lectura y escritura que se usan para un dispositivo paralelo. Esta solicitud requiere que el puerto paralelo, al que está conectado el dispositivo paralelo, esté bloqueado y se seleccione el dispositivo paralelo. El controlador de bus suministrado por el sistema para puertos paralelos negocia con el dispositivo paralelo para determinar los modos más rápidos admitidos por el conjunto de chips host y el dispositivo paralelo entre los modos especificados por el cliente. El controlador de bus de puerto paralelo establece los modos de lectura y escritura predeterminados en los modos negociados.

Para obtener más información, vea Establecer y borrar un modo de comunicación para un dispositivo paralelo.

Código principal

IRP_MJ_DEVICE_CONTROL

Búfer de entrada

El miembro AssociatedIrp.SystemBuffer apunta a una estructura de PARCLASS_NEGOTIATION_MASK que el cliente asigna para la entrada y salida de la información del modo. El cliente establece los miembros usReadMask y usWriteMask .

Longitud del búfer de entrada

El miembro Parameters.DeviceIoControl.InputBufferLength se establece en el tamaño, en bytes, de una estructura de PARCLASS_NEGOTIATION_MASK.

Búfer de salida

AssociatedIrp.SystemBuffer apunta a la estructura PARCLASS_NEGOTIATION_MASK que usa el controlador de bus proporcionado por el sistema para puertos paralelos para la información del modo de salida. El controlador de bus de puerto paralelo establece los miembros usReadMask y usWriteMask en los modos negociados.

Longitud del búfer de salida

Longitud de una estructura de PARCLASS_NEGOTIATION_MASK .

Bloque de estado

Si la solicitud se realiza correctamente, el miembro Information se establece en el tamaño, en bytes, de una estructura PARCLASS_NEGOTIATION_MASK. De lo contrario, el miembro Information se establece en cero.

El miembro Status se establece en uno de los valores de estado genéricos devueltos por las solicitudes de control de dispositivo para dispositivos paralelos o con el siguiente valor:

STATUS_INVALID_PARAMETER

El valor del miembro Parameters.DeviceIoControl.InputBufferLength es menor que el tamaño, en bytes, de un PARCLASS_NEGOTIATION_MASK.

Requisitos

Requisito Valor
Header ntddpar.h (incluya Ntddpar.h)

Consulte también

PARCLASS_NEGOTIATION_MASK

IOCTL_PAR_GET_DEVICE_CAPS

IOCTL_PAR_GET_DEFAULT_MODES

IOCTL_IEEE1284_GET_MODE