Spooler Components and IHV Development Opportunities
The components of the Windows NT spooler are outlined in the following table.
Component/Description | Default Executable | IHV Development Requirement s |
Spooler Server Process: entrance to the spooler subsystem for both local and remote print requests. | spoolss.exe | None: the Microsoft-provided service cannot be replaced. |
Print Request Router (PRR): routes a print request’s data stream to the local or network print provider. | spoolss.dll | None: the Microsoft-provided PRR cannot be replaced. |
Local Print Provider: responsible for the local playback of spooled print jobs. This includes putting print jobs into spool files, managing despooling, and performing administrative tasks such as print queue management. | localspl.dll | None: the Microsoft-provided local print provider cannot be replaced. |
Network Print Provider: responsible for translating print requests from Win32 printing function calls to a vendor-specific form that can be used by the network. | win32spl.dll | Printer IHVs typically do not need to develop a network print provider. Network IHVs must develop one. |
Print Processors: perform despooling. | winprint.dll | Winprint handles three spool file formats: raw, EMF, and text; it is the default print processor. Print processors and printer drivers work together, so printer vendors may wish to develop another print processor if the vendor supports a different spool file format. |
Port Monitors: Responsible for communication between spooler and printing device. Typically communicates with base I/O drivers (i.e. serial and parallel drivers) for device I/O, but may also call different interfaces, such as Windows Sockets, SCSI, etc. | localmon.dll | Printers that use parallel or serial ports can use localmon.dll. IHVs with printers that connect to other types of ports, such as SCSI or Ethernet LAN cards) need to develop a port monitor. See Print Monitors for more information. |
Language Monitors: allow the spooler to configure and monitor the status of a bidirectional printer. | none | If the printer manufacturer’s device is bidirectional, vendors can develop a language monitor for it. See Print Monitors for more information. |