Compartir a través de


Imprimir un trabajo de impresión

Una vez abierto un puerto, como se describe en Apertura y cierre de un puerto, el administrador de trabajos de impresión puede enviar trabajos de impresión al puerto.

Cada trabajo de impresión se delimita mediante llamadas de cola a funciones StartDocPort y EndDocPort de un monitor de idioma o puerto. El administrador de colas llama a estas funciones cuando un procesador de impresión llama a las funciones StartDocPrinter y EndDocPrinter del administrador de trabajos de impresión.

Dentro del ámbito de un conjunto de funciones StartDocPort y EndDocPort , se pueden producir llamadas de cola ilimitadas a las funciones WritePort, ReadPort y GetPrinterDataFromPort de un monitor.

Cada una de estas funciones requiere que el identificador de puerto devuelto por OpenPortEx (o OpenPort) se especifique como en el argumento de entrada. Normalmente, un monitor de lenguaje implementa cada una de las funciones mediante una llamada a la función con nombre similar en su monitor de puertos asociado.

Cuando el administrador de colas llama a la función WritePort de un monitor de lenguaje para enviar un flujo de datos al puerto, la función generalmente agrega información específica del idioma, como comandos PJL , al flujo de datos recibido antes de pasarlo a la función WritePort del monitor de puerto asociado.

La función ReadPort se usa para obtener información de estado del hardware de la impresora bidireccional, que un monitor de idioma podría enviar al administrador de colas llamando a SetPort. El administrador de colas no llama a la función ReadPort .

Si el hardware de impresión es bidireccional, tanto su monitor de lenguaje como su monitor de puerto deben admitir una función GetPrinterDataFromPort . La función GetPrinterDataFromPort de un monitor de lenguaje debe aceptar un nombre de valor del Registro como entrada, obtener un valor para ese nombre (normalmente llamando a las funciones WritePort y ReadPort del monitor de puertos asociados) y devolver el valor al autor de la llamada. La función GetPrinterDataFromPort de un monitor de puerto debe aceptar un código de control de E/S como entrada, llamar a DeviceIoControl para pasar el código de control al controlador de puerto y devolver el resultado.