Monitores de idioma
Los monitores de lenguaje son archivos DLL en modo de usuario que tienen dos propósitos:
Proporcionan una ruta de comunicación dúplex completa entre la cola de impresión y las impresoras bidireccionales que son capaces de proporcionar información de estado accesible por software.
Agregan información de control de impresora, como comandos definidos por un lenguaje de trabajo de impresora, al flujo de datos.
Microsoft proporciona un monitor de idioma, Pjlmon.dll, que admite el lenguaje de trabajo de impresora (PJL) y proporciona comunicación bidireccional para impresoras PJL. Para obtener más información, consulte Monitor de lenguaje de ejemplo.
Los monitores de lenguaje personalizados se pueden escribir para admitir otros lenguajes de control de trabajo, para impresoras unidireccionales o bidireccionales.
Los monitores de idioma son opcionales y solo están asociados a un tipo de impresora determinado si se incluyen en el archivo INF de la impresora, como se describe en Instalación de un monitor de impresión.
Si desactiva la casilla Habilitar compatibilidad bidireccional en la pestaña Puertos del cuadro de diálogo propiedades de la impresora, el administrador de colas no llamará a las funciones StartDocPort, WritePort, EndDocPort, GetPrinterDataFromPort, ReadPort del monitor de idioma.
El administrador de colas seguirá llamando a las funciones OpenPortEx, ClosePort, SendRecvBidiDataFromPort incluso cuando se borre la compatibilidad bidireccional con Enable . La casilla Habilitar compatibilidad bidireccional no afecta a las llamadas al monitor de idioma que se realizan cuando una aplicación llama a funciones en la API de comunicación bidireccional.
Si un monitor de idioma está asociado a una impresora, el monitor de idioma recibe el flujo de datos de la impresora del procesador de impresión, lo modifica y lo pasa al monitor de puerto de la impresora. Para obtener más información, consulte Interacción del monitor de puerto y idioma.
Nota
Los monitores de lenguaje siempre deben implementar la función SendRecvBidiDataFromPort e incluir la dirección de la función en el miembro pfnSendRecvBidiDataFromPort de la estructura MONITOR2 .
En caso de que el monitor de idioma no admita bidi, o la solicitud contiene valores de esquema bidi que el monitor de idioma no admite, el monitor de idioma debe reenviar las llamadas a la función SendRecvBidiDataFromPort del monitor de puerto.