The Windows NT® printing architecture was designed to be modular, allowing third-party vendors to customize select components in order to integrate their specialized hardware into the system. Figure 8.1 shows the Windows NT printing environment.
Figure 8.1 Printing Environment on Windows NT
To print, an application makes Win32® printing and GDI calls. These functions, found in winspool.dll and gdi32.dll, are device-independent, allowing applications to easily print on a variety of devices, such as laser printers, vector plotters, raster printers, and fax machines.
The Win32 calls are passed to kernel-mode GDI. The printer driver, in conjunction with the graphics engine, converts the input and passes the resulting raw device data to the spooler. The spooler further processes the data and sends it to the serial, parallel, or network driver to which the target printer is connected.
The remaining chapters in this part of the book discuss the various Windows NT print components: