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
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) |