The following information is provided as is, and the authors take no responsibility for the correctness.

Table of Contents

Windows Spooler Print Processors

Print processors are user-mode DLLs that are responsible for converting a print job’s spooled data into a format that can be sent to a print monitor. They are also responsible for handling application requests to pause, resume and cancel print jobs.

The print job’s spooled data is contained in a spool file. The print processor reads the file, performs conversion operations on the data stream, and writes the converted data to the spooler. The spooler then sends the data stream to the appropriate print monitor.

A set of user-mode GDI functions is exported by gdi32.dll, for use by print processors that handle NT-based-operating system EMF as an input format. The following table lists the functions that are provided.

  • ClosePrintProcessor Closes the print processor.
  • ControlPrintProcessor Provides control over printing a document.
  • EnumPrintProcessorDatatypes Enumerates the data types supported by a print processor.
  • GetPrintProcessorCapabilities Returns print processor capabilities for a specified input data type.
  • OpenPrintProcessor Opens the print processor for printing.
  • PrintDocumentOnPrintProcessor Prints a document on the print processor.

Mailing List

  • WinPrnDev - Windows Printer Driver Development
    This list is dedicated to the development of printer drivers and spooler components for the Windows family of operating systems. Looking for Win32 or user-mode peer support? Not here.
    But if you’ve got a design, implementation or support issue with a Windows printer driver, this is the place to be - Take the opportunity to learn from your peers to get over that particular development hump.

Reading job data

Access to the data of a SPL - Microsoft® Windows Spool File Format spool file, can be implemented quiet easy from within a print processor.

This is described on the Windows Spool Files page.

 
winspool/print_processors.txt · Last modified: 2006/04/27 10:29 by christoph
 

All text is available under the terms of the GNU Free Documentation License (see Copyrights for details). Disclaimers

Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki