Establecer y borrar un modo de comunicación para un dispositivo paralelo
Un cliente puede establecer el modo de comunicación de un dispositivo paralelo mediante las siguientes solicitudes de control de dispositivo:
IOCTL_IEEE1284_GET_MODE devuelve los protocolos de comunicación actuales establecidos en el dispositivo. El puerto no tiene que estar bloqueado para usar esta solicitud.
IOCTL_IEEE1284_NEGOTIATE negocia un nuevo modo de comunicación. El puerto paralelo debe asignarse y el dispositivo IEEE 1284.3 seleccionado.
IOCTL_INTERNAL_DISCONNECT_IDLE establece el modo de comunicación en IEEE_COMPATIBLE. El puerto paralelo debe asignarse y el dispositivo IEEE 1284.3 seleccionado.
Un controlador en modo kernel también puede usar las rutinas de devolución de llamada del dispositivo paralelo proporcionadas por el sistema. Una solicitud de IOCTL_INTERNAL_PARCLASS_CONNECT devuelve una estructura de PARCLASS_INFORMATION que incluye los siguientes punteros a las rutinas de devolución de llamada proporcionadas por el sistema:
El miembro DetermineIeeeMode es un puntero a la devolución de llamada PDETERMINE_IEEE_MODES , que determina los modos de comunicación IEEE que admite el puerto paralelo.
El miembro NegotiateIeeeMode es un puntero a la devolución de llamada PNEGOTIATE_IEEE_MODE , que establece el modo de comunicación IEEE más rápido que admite el controlador de bus de puerto paralelo entre los modos especificados por el autor de la llamada.
El miembro TerminateIeeeMode es un puntero a la devolución de llamada PTERMINATE_IEEE_MODE , que establece el modo de comunicación en el modo de compatibilidad IEEE 1284.
El miembro IeeeFwdToRev es un puntero a la devolución de llamada de PPARALLEL_IEEE_FWD_TO_REV , que cambia la dirección de transferencia de datos de reenvío a inverso (de escritura a lectura).
El miembro IeeeRevToFwd es un puntero a la devolución de llamada PPARALLEL_IEEE_REV_TO_FWD , cambia la dirección de transferencia de inversa a reenviada (de lectura a escritura).
Para obtener más información sobre los modos de comunicación que admite el controlador de bus de puerto paralelo, consulta los modos NONE a través de ECP_ANY que se definen en el archivo de encabezado ntddpar.h en el Kit de controladores de Windows (WDK).