Orders Orders Backward Forward
Comments Comments
© 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.

Orders Orders Backward Forward
Comments Comments


 COMPUTING MCGRAW-HILL | Beta Books | Contact Us | Order Information | Online Catalog

Computing McGraw-Hill is an imprint of the McGraw-Hill Professional Book Group.


A Division of the McGraw-Hill Companies
Copyright © 1997 The McGraw-Hill Companies. All rights reserved. Any use is subject to the Terms of Use; the corporation also has a comprehensive Privacy Policy governing information we may collect from our customers.