Print Spooler

The preceding sections described network print clients, print server services, print jobs, data types, and print devices. These are entities at the beginning and end of the printing process. The following sections describe the Windows NT print spooler components and the processing that takes place on a Windows NT print server after the print job is created and before the print job reaches the print device.

The following figure shows the main spooler components used to process jobs on a Windows NT print server. Each component uses the services of the component directly below it.

Figure 7.1 Print Spooler Components

As shown in the figure, the components below the client and above the print device are collectively called the spooler. The spooler is a series of 32-bit virtual device drivers and DLLs consolidated into a single architecture. It provides smooth background printing by using background thread processing. This means that the spooler passes data to the printer only when the printer is ready to receive more information. In Windows NT, the spooler components are implemented as a service that you can stop and restart from the Services icon on the Control Panel or from the command line by using the net stop spooler and net start spooler commands.

Important

If you stop the spooler service, you will not be able to print until you start it again.

The spooler components reside on both the Windows NT print server and on the Windows NT client computer. Client computers running a different operating system might have different components, and they might interact differently with the Windows NT print server's spooler components. The following table lists the components of the Windows NT spooler:

Table 7.3 Print Spooler Components

Spooler Component

Desciption

Router

Winspool.drv, Spoolss.exe, Spoolss.dll.

Local Print Provider

Localspl.dll

Remote Print Providers

Win32sp.dll for Windows print servers.

Nwprovau.dll for NetWare print servers.

Print Processors

Winprint.dll

Sfmpsprt.dll

Print Monitors

Localmon.dll

Hpmon.dll

Lprmon.dll

Sfmmon.dll

Decpsmon.dll

Lexmon.dll

Nwmon.dll

Pjlmon.dll


Each spooler component is described in more detail in the following sections.