© 1997 The McGraw-Hill
Companies, Inc. All rights reserved. Any use of this Beta Book is subject to the rules stated in the Terms of Use. |
Chapter 15
Printer Entries
In this chapter, we will examine the entries that govern how
the print process is maintained in Windows NT. Printing was notorious in
previous versions of Windows NT for having the most everyday use of manual
registry entries. However, beginning with Windows NT 4.0, administrators are
finding these options are being merged into the administrative interface for
printers. This makes it safer and easier to fine tune the process as opposed to
having to go to the registry often to make these changes. Nonetheless, it is
imperative we discuss these entries in order to establish the most complete
reference possible.
Managing the Print Process
Installing Printer Drivers/Queues
The first operation in the management of printers is to create a
print queue. A Print Queue in Windows NT is referred to as a Printer. The main
reason for this that for Win16 and Win32 printing, the driver is associated
directly with the Print Queue. This is done through the Add Printer object from
the Printers Windows.
When a print queue is created by selecting Add Printer from the
Printer option in the Start Menu the Create Printer dialog box is brought up, as
illustrated below:
Figure 15-1: The Add Printer Wizard Initial Screen
Assigning Ports
Destinations can be either a local port, such as a parallel or a
serial port monitored by the file LOCALMON.DLL. This also monitors shared
network printers, names pipes, and outputs to FILE, or FAX.
Figure 15-2: Adding Additional Print Ports
Additional destinations available depend on what added
components are installed. If you have the DLC protocol installed, you can define
and select a JET-Direct Port for a Hewlett-Packard Printer connected directly to
the network.
If you have the TCP/IP protocol installed with printing support,
you can define and select an LPR Port for either a printer with an IP Address
for Direct Hosting or an LPD UNIX server.
Managing Printers
All operations with printers can be done through the Printers
Windows. It's located in the Setting Option from the Start Menu. This is
compatible directly with Win16 and Win32 applications. It is also indirectly
compatible with all of the other subsystems via "capturing" or redirecting a
Local Port to a Network Printer. This tricks the Application that may not be
network aware to printing to a network printer.
Below is an illustration of the Printers window:
Figure 15-3: The Printers Window
In a system like Windows NT, users at different workstations can access a printer located on a remote system. In such a system, the sharing of a device like a printer is called spooling. SPOOL is an acronym which stands for Shared Peripheral Output On-Line.
A printer can only have one program accessing it for writing at one time. To effectively allow multiple users to share use of it, a list of requests must be created and maintained for each printer. The list of requests for each printer is, across computer systems, referred to as a queue. A queue of requests for a printer is a print queue.
Though you never refer to the print queue in Windows NT, each
printer has a print queue associated with it. Operations that can be performed
through the Printers Window are:
The Printers window also contains an object for each installed printer.
Printing Properties
If the Properties option is selected, the Printer Details dialog
box is brought up, as illustrated below:
Figure 15-4: The Properties Dialog Box
Location is used to describe the location of a printer. Printer
hours defines the time documents sent to the printer will be printed. Documents
can be sent and accepted into a print queue but will only be printed during the
specified hours. The default hours allow printing at any time. A page can be
specified to be printed at the beginning of each document to make it easier to
distinguish documents from one another.
General Parameters
Unfortunately, there are still some modifications that have to
occur via the registry. The rest of this chapter will discuss all pertinent
registry entries relating to printing. But first, we will review where the
printing components are stored.
File Components
Windows NT, by default, uses \<winnt root>\SYSTEM32\SPOOL
to store some of the different components of the printing process. This
subdirectory contains the following:
\<winnt root>\SYSTEM32\SPOOL\PRTPROCS\W32X86\WINPRINT\WINPRINT.DLL
The rest of the components involved in the Windows NT printing
process are located, by default, in the \<winnt root>\SYSTEM32
subdirectory.
General and Principal Registry Entries
This information for printers appears under the following
Registry path:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print
This path contains additional subkeys that define supporting
DLLs, drivers, and other necessary information for installed printers. These
subkeys can include Environments, Forms, Monitors, Printers, and Providers. An
OEM print provider might also add subkeys under this Registry path.
BeepEnabled REG_DWORD
Range: 0 or 1
Default: 0 (disabled)
When remote jobs get an error on a print server, you can enable
beeping each time the job is retried (every 10 seconds).
Note: You can use the System Policy Editor to change this
value.
DisableServerThread REG_DWORD
Range: 0 or 1
Default: 0 (false)
Set this to 1 (true) to disable the browse thread on the current
machine. This thread is used to call other printer servers to notify them that
this printer exists.
Note: You can use the System Policy Editor to change this
value.
FastPrintSlowDownThreshold REG_DWORD
Range: Milliseconds
Default: FastPrintWaitTimeout divided by
FastPrintThrottleTimeout
FastPrintThrottleTimeout REG_DWORD
Range: Milliseconds
Default: 2,000 (2 seconds)
When JobPrintsWhilstSpooling is enabled, some printers pause if
they don't receive data for a timeout period (usually 15 seconds for a
Postscript printer). To counteract this, the spooler throttles back on data sent
to the printer when FastPrintSlowDownThreshold is reached. At that point,
FastPrintThrottleTimeout causes 1 byte per defined period to be sent to the
printer until the threshold defined by FastPrintSlowDownTheshold is
exceeded.
FastPrintWaitTimeout REG_DWORD
Range: Milliseconds
Default: 24,000 (4 minutes)
When JobPrintsWhilstSpooling is enabled, the port thread must
synchronize with the spooling application. This value determines how long the
port thread waits before giving up, pausing the current print job, and moving to
the next print job.
NetPrinterDecayPeriod REG_DWORD
Range: Milliseconds
Default: 3,600,000 (1 hour)
Specifies how long to cache a network printer. The cache is used
to present the list of printers when the browse dialog is used.
PortThreadPriority REG_DWORD
Range: Priority values
Default: THREAD_PRIORITY_NORMAL
Allows you to set the priority of the port threads. These are
the threads that sent the output to the printers.
Valid values are:
THREAD_PRIORITY_ABOVE_NORMAL
THREAD_PRIORITY_ NORMAL
THREAD_PRIORITY_BELOW_NORMAL.
PriorityClass REG_DWORD
This value entry is not supported in Windows NT 4.0.
It has been replaced by SpoolerPriority (described below). It is not necessary
to remove this value entry from your Registry; it is ignored by the
system.
SchedulerThreadPriority REG_DWORD
Range: 0, 1, or 0xFFFFFFFF
Default: 0
Determines the priority of the scheduler thread which is the
thread used to assign jobs to ports. The priority of a thread determines the
order in which it is scheduled to run on the processor.
Valid values are:
0 (Normal)
1 (Above normal)
0xFFFFFFFF (Below normal)
Note: You can use the System Policy Editor to change this
value.
SpoolerPriority REG_DWORD
Range: Priority values
Default: NORMAL_PRIORITY_CLASS
Sets the priority class for the print spooler. By default, this
value entry does not appear in the registry, and the print spooler is set to
NORMAL_PRIORITY_CLASS. (This value entry replaces PriorityClass, which was used
in previous versions of Windows NT.)
Valid values are:
IDLE_PRIORITY_CLASS
NORMAL_PRIORITY_CLASS
HIGH_PRIORITY_CLASS
All other values are ignored.
User Parameters
The following Registry path contains the user preferences for
Printing:
HKEY_CURRENT_USER\Software\MicrosoftWindows
NT\CurrentVersion\Print Manager
These standard entries appear:
Network REG_DWORD
Default: 0x1
Print Manager REG_BINARY
Default:
Save Settings REG_DWORD
Default: 0x1
Driver and Print Processor Entries
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\EnvironmentsWindows
NT environment description\Drivers\Print Processors
Environment description keys include the following:
A PrinterDriverName subkey under the related Drivers subkey can
contain these value entries:
Configuration File REG_SZ
Range: Filename
Default: Filename of the installed DLL
Specifies the name of the configuration DLL for the selected
print environment.
Data File REG_SZ
Range: Filename
Default: Installed .PPD filename
Specifies the name of the print datafile for the selected print
environment.
Driver REG_SZ
Range: Filename
Default: Filename of the installed DLL
Specifies the name of the driver DLL for the selected print
environment.
Version REG_DWORD
Range: Version number
Specifies the version number of the installed print
driver.
A Print Processors subkey (and subsequent subkeys) under this
same Registry path contains an entry of the following type:
Driver REG_SZ
Default: winprint.dll
Print Monitor Entries
The entry in the following path defines the DLL filename for the
appropriate print monitor:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Provider
Network Port
Driver REG_SZ
Range: DLL filename
The Options subkey for the Provider Network Port contains the
following entries, all of which are REG_DWORD:
Adapter=0
ConnectionType=0x1
DlcBufferSize=0x27100
DlcT1Timer=0x5
DlcT2Timer=0x2
DlcTiTimer=0x3
EventLogging=0x7
LinkStationsUsed=0x40
StatusUpdateInterval=0x3c
Ports
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\LPR
Port\Ports\<portname>
PrintSwitch REG_SZ
Range: Control character string
Default: (none)
Specifies the format control character that the LPR Print
Monitor should send to the print server via the control file. By default, this
value entry is not stored in the registry, and a lowercase L is sent as the
control character. You can set it to any string. If set, the first character of
the string is taken as the format control character and sent to the print
server. The rest of the string is ignored. In some cases, you may need to use
"f" instead of "l."
Individual Printer Entries
Each installed printer has a subkey in the following Registry
path:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\printer
name
The following entries can appears under such a subkey:
Attributes : REG_DWORD: 0x1
Datatype : REG_SZ: RAW
Default DevMode : REG_BINARY:
Description : REG_SZ: driver description on port
Location : REG_SZ :
Name : REG_SZ : user defined
Parameters : REG_SZ :
Port : REG_SZ : port name
Print Processor : REG_SZ: WinPrint
Printer Driver : REG_SZ : driver name selected in Setup
Priority : REG_DWORD: 0x1
Security : REG_BINARY :
Separator File : REG_SZ :
Share Name : REG_SZ :
StartTime : REG_DWORD : 0
Status : REG_DWORD: 0
UntilTime : REG_DWORD: 0
Individual Print Provider Entries
Each Installed Print Provider will have a subkey installed under
the following registry path:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Providers\Print
Services Name
The default subkey for a Windows NT network is LanMan Print
Services. Such a subkey contains the following entry:
Name REG_SZ
Range: DLL filename
Default: win32spl.dll
To control network popups for remote print jobs, add the value
NetPopup to the subkey found in the following Registry path:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Providers
NetPopup REG_DWORD
Range: 0 or 1
Default: 1
Specifies whether to display a popup message for remote print jobs. Set to 1 to enable the display.
Trusted Printing
The following values control print and point features of Windows
NT so that drivers can only be loaded from a trusted print server, rather than
from the server to which the user is connected. These values are in the
following Registry path:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Providers\LanMan
Print Services
LoadTrustedDrivers REG_DWORD
Range: 0 or 1
Default: 0
If set to 1 (enabled), drivers are not installed from the remote
print server, but are taken only from the path specified
inTrustedDriverPath.
TrustedDriverPath REG_DWORD
Range: String
Default: (none)
Specifies the path from which you can install printer drivers. The path represents the trusted print server shares. Note that even though you connect to a particular server, you will not get the printer drivers from that server. You will only get the driver settings from that server. The drivers are copied only from the TrustedDriverPath.
COMPUTING MCGRAW-HILL | Beta Books | Contact Us | Order Information | Online Catalog
Computing McGraw-Hill is an imprint of the McGraw-Hill Professional Book Group.