Windows NT

Support Menu

Last Updated On: 08/05/2004

Windows NT Devices

Printing in Windows NT 4.0

Windows NT printing consists of interactions between a variety of components, from the application requesting print services to the print monitor that finally communicates with the printer. Each of these components must accomplish its tasks or the printing process fails.

Printer Driver Components

The Windows NT printing architecture requires that every printer driver be implemented as a combination of two dynamic-link libraries (DLLs), and a characterization data file.

This file provides the following functionality
Printer graphics driver DLLT Converts the print output from an application into a format that can be understood by a print device.
Printer interface driver DLL Queries the characterization data file, and from this query displays the information that a client will see. In addition, the printer interface driver contains the configuration management portion of the printer driver that is used to configure a printer
Characterization data file Provides information about the configuration capabilities of a specific printing device.

Print Spooler

When the print command is invoked, a print job is produced by the application and passed to the spooler. The spooler is an interface between the application the is printing and the print monitor. It is responsible for routing print jobs to the appropriate printer.

To accomplish the task of routing print jobs to the appropriate printer, the print spooler performs the following functions

  • Tracks print jobs
  • Routes print jobs to the correct ports
  • Tracks which ports are connected to printers
  • Assigns priorities to print jobs

The Spool File Folder

Use the registry to change a spool file folder or to create a separate spool file folder for each printer defined on a computer. Creating a separate spool file folder helps if the drive spooling the print job does not have enough space for all print jobs.

Note: The location of the spool folders (both default and specific) are stored under the registry key:


Stopping and Restarting the Spooler

Use the Services icon in the Control Panel to stop and restart the spooler service if, for example, a print job is stuck in the spooler.

The Print Processor

The print processor translates the print commands from an application into commands the can be understood by a printing device. The process of translating print commands from the application into commands that can be used by the printing device is called rendering. After the print processor completes any needed rendering, it returns the job to the spooler.

The primary Windows NT print processor is WINPRINT.DLL, which recognizes the data types listed in the following table.

Data Type
Raw Data Raw data is fully rendered and ready for the printer. An example of raw data is a PostScript command.
Windows NT Enhanced Metafile (EMF Windows NT EMF is a portable format that can be printed on any device
Text Text is unformatted raw text data ready for the printer. It contains only printable ASCII characters and the few control codes needed for minimal formatting, such as carriage returns and linefeeds.
PSCRIPT1 PSCRIPT1 is only applicable on computers running Windows NT Server that are running Services for Macintosh. It signifies that the job is PostScript code from a Macintosh client, targeted for a non-PostScript printing device.

NOTE: If the print job is incomprehensible, the print processor used for the print job might be corrupt and need to be replaced. If this is the case, use the Emergency Repair process to verify the file and replace it if corrupt.

Print Monitor

The print monitor performs the following functions:

  • Controls the data stream to one or more printer ports
  • Gains access to the appropriate printer port
  • Writes the print job to an output destination
  • Releases access to the port
  • Searches for unsolicited error messages, such as "out of toner"
  • Handles true end-of-job notification. The print monitor waits until the printer has printed the last page of the print job, and then tells the spooler that the job is finished and can be deleted.
  • Monitors the printer status to detect printing errors. In case of an error, it notifies the spooler to restart the print job from the beginning.

In order to install a print driver, click on the Printers icon in the Control Panel.

From the Printers window, the status of the printers can be monitored. To add a print driver, double-click on the Add Printer icon in this window.

Now select the printer from the list. DO NOT use the disk that came with the printer unless it specifically says it was designed for Windows NT 4.0.

Now the user can name the printer. This is a "friendly name" and the default is the name listed in the Printer Driver information. A friendly name could be any name and could be something descriptive such as its location, "Printer 1 in the Lobby." Also, by clicking on the Yes choice, this printer will now become the default printer for the system.

If the printer is a local printer, it can be shared on a network for others to use. To do this, it must be Shared and the proper network drivers for sharing resources must be installed.

It would be advisable to print a test page to make sure the printer and driver both work.

Now, Windows NT is prepared to install the print driver and will need access to the install files. Either the Windows NT CD or network install path should be listed in the "Copy files from:" section if it does not find them immediately.

The printer should now appear in the Print Monitor.

To edit more specific information about this printer, select its properties by right clicking on the printer or choosing File/Properties once the printer is highlighted.

The printer properties are composed of several tabs of information: General, Ports, Scheduling, Sharing, Security and Device Settings.

The General tab allows comments and general information to be added about the printer. A Separator Page is different from the Novell Print banner, but it has the same purpose of separating different print jobs. The print processor helps define how the print processor works, whether EMF or RAW for example. Finally, a test page can be printed from this tab.

The ports tab helps define with port is being used to communicate with the printer.

Scheduling allows the user to define when the printer is available and how it uses the Spooler. If there is no available hard drive space, the spooler can be turned off and print jobs can go directly to the printer.

Sharing allows the local printer to be used by other computers on the network.

Security allows an administrator to decide which local users get access to the printer.

The device settings tab allows paper tray assignments (legal/envelope), amount of memory installed on the printer, fonts and color/halftone settings.

Note: To disable the Print Banner on Novell print servers, look in the Client/Gateway Services for Netware icon in the Control Panel.