Procesamiento de un trabajo de impresión
Cuando el administrador de trabajos está listo para enviar un trabajo de impresión a un procesador de impresión, llama a la función OpenPrintProcessor del procesador de impresión. Esta función realiza actividades de inicialización y devuelve un identificador.
A continuación, el administrador de colas puede llamar a PrintDocumentOnPrintProcessor, que es la función del procesador de impresión que convierte el flujo de datos del formato de entrada al formato de salida y devuelve la secuencia convertida al administrador de trabajos.
Si el formato de entrada es EMF del sistema operativo basado en NT, la función PrintDocumentOnPrintProcessor puede controlar la reproducción de los registros EMF mediante las funciones enumeradas en Uso de funciones GDI en procesadores de impresión. Estas funciones proporcionan una interfaz entre el procesador de impresión y el controlador de impresora. Esta interfaz permite a los procesadores de impresión controlar el diseño físico de las páginas de impresora y, por tanto, facilita la implementación de características como la impresión de varias páginas de documentos por página física (impresión "N hacia arriba"), la impresión de páginas en orden inverso y la impresión de varias copias de cada página.
El flujo de datos de salida de un procesador de impresión debe devolverse al administrador de trabajos de impresión. Normalmente, si la conversión de datos requiere interacción con el archivo DLL de gráficos de impresora del controlador de impresora (como sucede con los datos de entrada emF), el archivo DLL de gráficos devuelve la secuencia al administrador de colas mediante una llamada a EngWritePrinter. Por otro lado, si la conversión no llama a la DLL de gráficos de impresora (como ocurre en el caso de los datos de entrada RAW), el procesador de impresión llama a WritePrinter.
La función PrintDocumentOnPrintProcessor se puede interrumpir mediante llamadas asincrónicas desde el administrador de trabajos de cola a la función ControlPrintProcessor del procesador de impresión. Esta función implementa la capacidad de una aplicación para pausar, reanudar o cancelar un trabajo de impresión.
Una vez que PrintDocumentOnPrintProcessor termina de convertir el flujo de datos y devuelve, el administrador de trabajos llama a la función ClosePrintProcessor del procesador de impresión.