MCSE 2.3 Working with Print Devices
Windows 2000 Professional computers can print to one or more printers attached to them directly, printers shared from other computers, and printers that stand alone on the network. They can also print using variety of protocols, including TCP/IP, IPX/SPX, DECnet, DLC, and AppleTalk.
Understanding Windows Printing
In common usage, a printer is the hardware device that outputs hard copy. In Windows NT/2000 terminology, however, these are printing devices. Microsoft defines a printer as software that controls printing devices. Similarly, the term print queue means different things to different vendors. To Microsoft, print queue means a list of documents that are waiting to be printed.
To understand the Windows NT printing architecture (as required by the MCSE exam), you should understand a few more terms.
At the beginning of any Windows 2000 print job, the operating system identifies the printer driver version on the client computer to ensure it is current with the print server. If the print server has a newer version, it downloads it to the client computer automatically. It is important, therefore, that you select all of the hardware and operating systems of print client computers when installing or managing your printer (see Figure 2.38).
Windows 2000 printer drivers have two parts. The first part is composed of two Dynamic Link Libraries (DLLs). The Printer Graphics Driver DLL is the driver's rendering mechanism, which is called by the Graphics Device Interface during printing. The Printer Interface Driver DLL is the driver's user interface, which you call on to configure the printer.
The second part of the Windows 2000 printer driver, which is called on by both DLLs as needed, is the Characterization File. This configuration file contains printer-specific information about RAM, fonts, resolution, paper size, paper orientation, and other characteristics.
Print Spooler Service
The Windows 2000 printing process is managed in the background by the Print Spooler service, which must be running on both server and client. Its general purpose is to save print jobs to disk, or spool, and then dole them out at a speed the printing device can handle while permitting the user to work on other things. Print jobs are saved in the following directory (by default):
Rendering is the process of converting data into a form that a printing device can understand and reproduce on paper. The print processor is responsible for this process. Windows 2000's main print processor is WINPRINT.DLL. Its tasks vary with the type of data it is passed from the printer driver. These types include:
Raw data. This data is already rendered by the printer driver that need only be passed to the printing device.
Enhanced Metafile (EMF). This is a standard file format supported by many printing devices. Windows NT EMF is generated by the Graphical Device Interface prior to spooling.
Text. This is the most basic type, used by printing devices that do not support ASCII text. It includes only minimal formatting.
The print router passes print jobs from the spooler to the appropriate print processor.
As the name implies, print monitors watch the status of printing devices and report back to the spooler, which in turn displays information through the user interface. Among its specific duties are detecting error conditions, such as "out of paper" or "low toner," as well as printing errors that require the job to be restarted. Another duty is end of job notification, wherein the print monitor notifies the spooler that the last page has been imaged and the print job can now be purged.
Windows 2000's standard print monitors are:
LOCALMON.DLL. Used for output to the LPT and COM ports, as well as shared printers.
HPMON.DLL. Used for output to Hewlett-Packard printing devices via the Data Link Control (DLC) network protocol.
DECPSMON.DLL. Used for output to Digital Equipment Corp. (DEC) network printers via TCP/IP or DECnet network protocols. (DECnet must be obtained separately from DEC).
LPRMON.DLL. Used for output to Line Printer (LPR) printing devices, such as those supported by TCP/IP and UNIX Line Printer Daemon (LPD) print servers.
PJLMON.DLL. Used for output to Printer Job Language (PJL) printing devices.
SFMMON.DLL. Used for output to Apple's PostScript printers via AppleTalk.
Connecting to Local Print Devices
Only Administrators and Power Users have the right to install or create a printer. Such users may use the Add Printer Wizard from the Printers program group in the Start menu's Settings program group to install either a local print device or network print server, as shown in Figure 2.29.
Figure 2.29 Launching the Add Printer Wizard.
The option to install locally connects the print device directly to your machine by a parallel port. This connection may be configured using Plug and Play, or failing that, manually, as shown in Figure 2.30.
In the Select the Printer Port window, choose the local port that physically attaches to the printer. Alternately, you may click on the Create a new port radio button if the printer is really a network printer and will be attached to a different port..
Figure 2.30 Connecting to a print device manually.
Next, you are asked to select the appropriate drivers, as shown in Figure 2.31.
Figure 2.31 Choosing printer drivers.
If you do not see your printer's manufacturer and/or model here, you can click the Windows Update button to query the Microsoft Web site for new drivers, or click the Have Disk button to locate drivers supplied to you by the manufacturer. Next, you are asked to name the printer as it should appear in the Printers program group, as shown in Figure 2.32.
Figure 2.32 Naming the printer.
Similarly, if you choose to share the printer, you are asked to supply an 8.3-compatible share name after enabling the Share as radio button, as shown in Figure 2.33.
Figure 2.33 Sharing the printer.
In the last two steps, you are asked whether you wish to print a test page (always a good idea), then are given a summary of your configuration choices, as shown in Figure 2.34.
Figure 2.34 Viewing installation options.
Connecting to Internet Printers
To connect to a TCP/IP-enabled Internet or intranet-based printing device, launch the Add Printer Wizard again. This time when prompted to choose between a local and network printer (see Figure 2.29), choose the latter to open the Locate Your Printer window, as shown in Figure 2.35.
Figure 2.35 Selecting an Internet printer.
The Name radio button/field is used to locate Microsoft Networking-enabled printers. To attach an Internet printer, you would enable the URL radio button/field and type in the printer's domain name or IP address.
Configure additional options as prompted by the Add Printer Wizard.
Many printers have specific methods for making their print devices available. You should therefore consult the printer manufacturer's installation instructions where possible.
Managing Printers and Print Jobs
To manage a printer's configuration options, select it in the Printers program group. Right click, then select the Properties command to open the Properties dialog box shown in Figure 2.36.
Figure 2.36 Viewing printer properties.
Select the General tab to access printing preferences, such as layout and paper quality. You may also add a comment and a location to further define the printer and its function.
Select the Sharing tab to set a network name and turn printer sharing on or off.
The Ports tab shows you which ports have printers and print devices associated with them, and allows you to modify them. By changing the port, you save yourself from having to create a new printer. This tab also allows you to set additional ports, delete ports, and configure existing ports. You can also enable bidirectional support from printers so that the printer can return a status update, such as an empty paper tray or a successfully completed print job.
Printer pooling connects one printer to more than one print device. Thus, as print jobs are received, they are routed to free printers to speed the process for the entire network. Check the Enable printer pooling option under the Ports tab and choose the ports that participate in the pool.
Select the Advanced tab to configure most of a printer's management functions, as shown in Figure 2.37.
Figure 2.37 Printer's advanced management properties.
For example, you may choose a separator page, alternate between print processors, change printer drivers, and establish printing defaults.
Separator pages, sometimes called banners, print the name of the user who sent the print job and the time of the print job between each printed page. The banners can also switch the mode of the printer, or perform other functions. However, banner pages that serve no real purpose are just a nuisance and a waste of paper, especially if the printer is shared and other people are waiting for it.
Also under the Advanced tab, you may schedule print jobs. The first option allows you to set when the printer is available for use, limiting congestion by staggering printers. You can also set printer priorities, which staggers multiple printers by priority rather than by time. This way, relatively insignificant print items do not interfere with potentially company-saving reports, and a 50-page report does not hold up someone's one-page printout.
The Advanced tab also enables you to set spool settings on each printer, including the following:
Spool print documents so program finishes faster. Documents will spool. You can set them to store the documents until they have all spooled and then print them all, or to start printing immediately.
Print directly to the printer. This turns off spooling, which works only if there is only one printer device attached to the printer.
Hold mismatched documents. This prevents documents that do not match the printer's configurations from printing.
Keep printed documents. This keeps documents in the spooler even after printing.
The last tab in the printer's Properties dialog box is Device Settings. It enables you to set specific options like color, resolution, and paper tray sele_ction.
Working with Print Spooler
In Windows 2000, the Print Spooler service controls the print spooling process. If documents have been queued for printing but no printer is available, the print items may be lost, unable to be printed, or deleted. In such a case, you may need to stop the Print Spooler service and then restart it using the Services control panel application. The queued print jobs are then allowed to print.
While print jobs are spooling, they are started on the hard disk in a location called the spool directory. If the hard disk is having a hard time sending print documents, or if those documents are simply not reaching a printer, you may have insufficient space in the partition holding the spool directory. The partition should have at least 5 MBs of free for the spool directory. If you cannot free up enough space, you will have to move the spool directory somewhere else.
Working With Printer Permissions
You can share an existing printer by using the option under the Sharing tab of the printer's Properties dialog box. Under the Sharing tab, you can enter a share name and choose the appropriate operating system drivers that should be loaded, as shown in Figure 2.38.
Figure 2.38 Sharing a printer and choosing download drivers.
Long share names are supported under Windows NT/2000 and Windows 9x/Me only.
Click the Additional Drivers button if there are non-Windows 2000 computers printing to your workstation's shared printer. Pick the operating systems from the list, and you receive a prompt for the location of the drivers for each system. This way, the drivers for each operating system selected can be downloaded when a user prints to your printer.
You can set permissions for the printer from the Security tab of the printer's Properties dialog box, as shown in Figure 2.39.
Figure 2.39 Setting printer access permissions.
There are three types of printer permissions:
Print. Users with this permission can print documents; pause, resume, restart, and cancel the their own documents; and connect to a printer.
Manage Documents. Users with this permission can manage documents; pause, resume, restart and cancel their own documents; connect to a printer; and pause, restart and delete all documents.
Manage Printer. Users with this permission can print documents, pause, resume, restart, and cancel their own documents; connect to a printer, control job settings for all documents, pause, restart and delete all documents; share a printer, change printer properties, delete printers, and change printer permissions.
Each user is given Print access by default, and the Creator/Owner is given permission to Manage Documents. Administrators and Power Users have Manage Documents and Manage Printer permissions.
As with NTFS and folder share permissions, Users with a Deny permission cannot do anything with a given permission level.
Share a Local Printer
Practice what you have learned by connecting to and sharing a local printer.
First, attach a printer to your computer and run the Add Printer Wizard to connect to it. In so doing, designate the printer as shared under a name of your choice, and print a test page. Open the Properties dialog box to view and, if necessary, reset such options as spooling behaviors, downloadable drivers, and permissions. Finally, test your configuration by printing to your printer from a remote workstation.