Specific Tasks

Adding a network printer for all users

Printing from DOS

Install Additional Driver on older OS

When installing Additional Drivers doesn't work

How to clean up printer drivers

Add Printer or New Hardware Found fails

Printing to a Print Server Device

Printer Scripts


Frequently Asked Questions

General Info

FAX

Printing

Glossary

Home

Links

Bruce's General Windows Pages

 

 

 

Bruce Sanderson's Windows Web

Glossary

All words in italics on the other pages of this site are described in this Glossary.  Please note that these meanings are specific to their use on this site and the context where they appear.  I've attempted to define the words according to how Microsoft uses them in their operating systems, applications and documentation.  Many of these words have different meanings in different contexts.

Generally, the printing subsystem in Windows 2003 Server behaves the same as that on Windows XP, so information specific to Windows XP on this site also applies to Windows 2003 Server.

Additional Driver Every printer installed on a computer must have the appropriate printer driver installed on that computer.  To facilitate the installation of printer drivers on network printer clients, if the print server is running Windows NT or a later Windows version, the required driver can be automatically sent to the client from the server when the network printer is added to the client.  If both the client and server have the same version of the Windows operating system, nothing extra needs to be done on the server for this to work.  However, if the client has a different version of Windows, then the driver for that version must be  installed on the print server, in such a manner that is available for transmission to the client.  The printer drivers for other operating systems that are installed this way are referred to as Additional Drivers.  The printer's Sharing Property page on the print server has a dialog for installing Additional Drivers. 
administrative rights and permissions a bundle of rights and permissions that are required to perform administrative actions on a particular computer.  Normally, a user account acquires these rights and permissions by being a member of the Administrators built-in group on the computer in question.
client The computer making a request across a network to another computer is referred to as the client computer.  Thus, a computer using a printer that is shared from another computer is referred to as the (print) client computer.  The other computer is referred to as the server.
command a character string keyed by a user in a Command Prompt window, command file or script that directs the operating system to perform a particular operation.
command file a file that contains commands and control statements.  These files normally have .cmd as the extension, although the .bat extension can also be used.  Launching (double clicking) one of these files (.cmd or .bat) will launch the NT, 2000 or XP command processor - cmd.exe.
Command Prompt window a window presented by a command processing program that interprets commands keyed by a user.  In Windows NT, 2000 and XP, there are two command processing programs: cmd.exe and command.com.  The Command Prompt icons normally launch cmd.exe which is a native, 32 bit program which supports many commands.  Command.com is a 16 bit program that provides an emulated DOS environment.  Windows NT, 2000 and XP don't come with any shortcuts for launching command.com directly, but it can be launched via Start, Run.
Computer Name

The name that identifies a particular computer on the network.  This has no relationship to any user name.  To find the computer name:

Windows 2000:

  1. right click on My Computer on the desktop and select Manage

  2. right click on the root of the tree in the left pane of the Computer Management window (Computer Management (Local)) and select Properties

  3. Select the Network Identification tab

Windows XP:

  1. click Start, right click on My Computer and select Manage

  2. right click on the root of the tree in the left pane of the Computer Management window (Computer Management (Local)) and select Properties

  3. Select the Computer Name tab

driver A piece of software that allows the system or an application to interact with (use) a particular piece of hardware.  Generally speaking, drivers are written by the hardware manufacturer to work with a specific operating system using a standard interface specification defined by the operating system vendor (e.g. Microsoft).  For convenience of the user, many such drivers are obtained from hardware vendors by the operating system vendor and packaged with the operating system.  Also, the operating system vendor usually specifies how a driver needs to be packaged so that it can be installed using the driver installation process defined for the operating system.  Some hardware manufacturers choose not to package their drivers this way, but rather provide their own, non-standard installation method.  See also printer driver
global a global network printer is available to any user that logs on to the computer to which it has been added.  A network printer that is not added globally is available only to the user that added it (e.g. by using the Add Printer wizard).
local printer See Printer
LPR/LPD A TCP/IP protocol for sending print data between computers (or from a computer to a print server device).  LPR stands for Line Printer Requestor.  LPD stands for Line Printer Daemon.  This protocol is defined in RFC 1179 (http://www.ietf.org/rfc/rfc1179.txt?number=1179).  It was originally intended for transmitting standard Line Printer print data streams.
LPTn e.g. LPT1; This is the name that is used in DOS (and has carried over to Windows) as the device name for a parallel port on a computer.  When an DOS application wants to send data to a print device, it tells DOS to send the data to the LPTn device.  DOS is pretty simplistic and has no concept of a print device being connected to anything but a parallel port.  In Windows, LPTn is still used as a short name for parallel port n.
network printer See Printer
permission In Windows NT, 2000 and XP, a permission is the authority to access or manipulate a resource (e.g. file, folder, printer).  Permissions are binary: either you have a particular permission or you don't.  Permissions are managed using the resource's Security tab.  The permissions available depend on the type of resource.  For example, printers have six possible permissions: Print, Manage Printers, Manage Documents, Read Permissions, Change Permissions and Take Ownership.  The last three control who can manipulate the permissions granted for a printer.  Any particular user may be granted (or denied) any combination of these permissions.  Files and folders have many more permissions.  In contrast, see right.
pool
printer pool
A printer pool is a set of more or less identical print devices that appear to the user a single printer.  Each print device is associated with its own port.  In a printer pool, there are multiple ports associated with a single printer.  Since there is only one (logical) printer, all the print devices in a printer pool use the same printer driver.  Thus, print devices in a printer pool must be identical in the sense that the printer driver for the printer pool works with all the print devices.  Also, they should have the same set of hardware features.  The user doesn't get to select which print device in the pool to use, so, for example, if one has a duplexing unit and one doesn't, double sided printing may or may not work depending on which print device happens to be used.

To enable printer pooling:

    1. Open the Properties of the Printer to be pooled

    2. Select the Ports tab

    3. Add a check mark to the Printer Pooling check box

    4. Click on the port(s) corresponding to the print device(s) that are to be part of the pool to add a check mark to them

    5. Click OK

port

  1. physical port: a connector and associated electronics for attaching peripherals (e.g. parallel, serial, USB)

  2. local port: a logical construct (object) that describes a physical port (see 1 above) or some other piece of equipment (e.g. a printer's LAN adapter) and controls communication between devices attached to that physical port and the operating system or applications.  Typical types of ports for print devices are parallel (LPT), Standard TCP/IP and USB.

  3. network printer port: a local port (as in 2 above) that represents a printer share on another computer

  4. IP port: a logical end point of a communication path using TCP/IP.  For example, port 80 is the TCP port through which a web server communicates with web browsers; port 515 is the TCP port that the Line Printer Daemon (LPD service) receives communication from Line Printer Requestor (LPR) clients.

Port 9100 protocol A protocol, originally designed by HP, for encapsulating print data streams in TCP/IP packets.  The print server device normally listens on (receives on) TCP port 9100, thus the name of the protocol.  It is a very simple protocol in which, essentially, the data (payload) part of the TCP/IP packets constitute only and exactly the data to be sent to the print device.  In a Microsoft Standard TCP/IP port's configuration, this is called the RAW protocol.
port monitor

A small piece of software that is responsible for providing a communications path between the print spooler and the port hardware (abstracted from http://msdn2.microsoft.com/en-us/library/ms802178.aspx).

From the printer management user interface perspective, a port monitor provides printer ports of a particular type (e.g. Standard TCP/IP port).

print device a piece of equipment with integrated electronics that transfer something to a media for reading by humans, or some more esoteric devices (e.g. for cutting a template or mask), according to the data stream it receives from a printer object via a port.  A printer may be connected to physical port on a computer or to a network by an internal or external LAN adapter.  Typical print devices are:
  • laser printers
  • inkjet or bubble jet printers (including wide format inkjet printers that are sometimes referred to as plotters)
  • typesetters
  • plotters (things that draw lines by dragging a pen over the paper as opposed to by dropping dots as do inkjet and bubble jet printers)
  • microfiche or microfilm writers
  • dot matrix (impact) printers
  • line printers
  • mask cutters (have knife blade instead of pen)

print server
  1. a computer running some variety of Windows that has one or more printers shared for use by other computers using the Microsoft Network Printing protocol.
  2. a computer running some other operating system that implements the Microsoft Network Printing protocol (e.g. Samba running on a UNIX based computer).
  3. a computer that implements the LPD service and thus can process print requested from LPR clients
  4. a piece of equipment that provides a way of connecting a print device to a network.  Usually, this has a single LAN connector (e.g. RJ45) and one or more physical ports (e.g. parallel or serial) for connecting print devices or that can be installed inside a print device and connects to that device using a proprietary interface.  These devices usually support a variety of network protocols (e.g. lpr/lpd over TCP/IP, Port 9100 or RAW printer protocol over TCP/IP, DLC, IPX/SPX, AppleTalk).  These devices are essentially protocol converters and can communicate with only one computer at a time for each physically attached print device.  They do not provide spooling or print queue management.

  5. a piece of equipment (similar to 4 above), but that implements enough of the Microsoft Networking protocols to appear to Windows as if it were a print server of type 1 above.  For some of these devices, you need to install a piece of software that adds a port monitor for port types specific to this device (print server).

When used in articles on this site, print server means type 1or 2 above, print server device means type 4, unless otherwise specifically identified.

print spooler A service that intercepts print output from an application and redirects it to a temporary file.  The print spooler also read these temporary files (called spool files) and sends them to the printer, when it is available.

Generally, an application can generate print output many times faster than even the fastest print device can actually print.  Without a print spooler service, the application would have to operate at the speed of the print device.

Printer drivers run as part of the print spooler service.  So, a defective printer driver can cause the print spooler service to fail, or in some situations, prevent it from starting at all.  If the print spooler service is not running, you can't print and no printers show in the Printers or Printers and Faxes window.

Printer a logical construct (an object or resource) that provides attributes (information or descriptions) to the operating system, applications and users (e.g. via the printer's Properties dialog) about one or more print devices.  There are two classes of printer objects: local and network.  For printers:
  • local means that this printer object communicates with the print device(s) directly via a local port
  • network means that this printer object is a proxy for another printer object that is shared from another Windows computer.

Please see port for more information about printer ports.

Windows 9x does not have the concept of local and network printers per se as does NT, 2000 and XP.  With Windows 9x, one creates a (local) printer and associates it with a port that happens to be redirected to a shared printer on another computer.  With Windows NT, 2000 and XP, the normal and recommended approach is to create a network printer when you want to make use of a shared printer.  In some situations, (e.g. the printer driver can not be added to the shared printer as an Additional Driver, you may have to resort to the approach used with Window 9x, but then you have a local type printer object, not a network type printer

printer driver a driver for a print devicePrinter drivers that are appropriately packaged can be installed using the Add Printer wizard or automatically when a printer is added via the PrintUIEntry function in printui.dll.  They can also be installed on print servers as Additional Drivers.  Unfortunately, some print device manufacturers for some of their models decide not to package their printer drivers so that they can be installed by these standard methods.

As the Windows operating system evolved, the printer driver model (basically, the interface that the printer driver is expected to implement and how it is expected to use that interface) also evolved.  Each model is referred to by a Version number.  To see the Version of a particular printer driver, open the Printers (or Printers and Faxes folder), click File, Server Properties and select the Drivers tab.  Just to confuse things, most printer driver builders also apply a "version number" to each driver.  This driver "version number" usually bears no relationship to the printer driver model Version discussed here, but rather indicate what modification level or build that particular driver is.

Version 0 - Windows 95, 98 and ME

Version 1 - no "current" OS uses this model, although it may have been used in versions of Windows NT prior to NT 4.0.

Version 2 - introduced with Windows NT 4.0 and also supported by Windows 2000.  Drivers of this version show up as "Windows NT 4.0 or 2000".

Version 3 - introduced with Windows 2000 and also supported in Windows XP.  Drivers of this version show up as "Windows 2000 or XP".

Printer Name The name of the printer as it is known on the computer that has it installed locally.  In Windows 2000 and XP, this will also be the name shown for a network printer in the Printers (Windows 2000) or Printers and Faxes (Windows XP) window.  This is shown on the printer's General Property Page.
PrintUIEntry
printui.dll
printui.dll is the part of the operating system that implements various printer management capabilities.  PrintUIEntry is the entry point in printui.dll that provides functions that can be invoked by the rundll32 command, in a Command Prompt window, a command file, a script or a program.

For example, the following command will invoke the PrintUIEntry function in printui.dll and specify that the printer whose share name is printer available on the print server server be added globally to the target computer target.

rundll32  printui.dll,PrintUIEntry  /ga  /c\\target  /p\\server\printer

The following command will open a window that shows all of the functions and arguments available via PrintUIEntry.

rundll32  printui.dll,PrintUIEntry  /?

Property Page When you right click on a printer and select Properties, you get a window that shows a series of Property Pages (sometimes called Tabs).  What the Property Pages are labelled and what is on each page is a function of which version of Windows you have and the printer driver installed for that printer. Every printer will have at least General, Sharing, Ports pages.  Other objects (e.g. a folder) also have Property Pages.  To open a printer's property pages:
  1. click Start,
  2. Settings (skip this step for Window XP)
  3. Printers (Printers and Faxes for Windows XP)
  4. right click on the printer and select Properties
remote
remotely
the concept of performing an action on one computer (the target computer) while actually logged on and running programs locally at a different computer (the source computer).  The computers may be on the same LAN or a different LAN that is connected via one or more routers (or the Internet).  Actions taken via Remote Assistance, Remote Desktop and Terminal Services are not considered remote actions in this context.  Those tools are great for providing support and administering other computers but actions are actually performed locally on the computer that is the object of the Remote Assistance, Remote Desktop or Terminal Services session.
right In Windows NT, 2000 and XP, a right is an authority to carry out a particular action.  Rights are binary; either you have been granted the right or or not.  For example, on Windows 2000, by default the right to logon locally is granted to members of the Administrators group, but not to members of the User group.  In Windows 2000 and XP, many rights are controlled by Local or Group Policies.  In contrast, see permission.
router In general networking terms, a router is a (special purpose) computer that looks inside each data packet sent to it and decides which of the several subnets it is connected to is the best one to send the packet on to get it to its ultimate destination.

Most routers sold for home and small business networking are actually multi-function devices combining some or all of these functions:

  • router

  • DHCP server

  • firewall
  • Network Address Translation (NAT)
  • switch
  • wireless access point

rundll32 A general purpose command for executing functions in dynamic link libraries (dlls).  It loads the dll identified by the first parameter and invokes the specified function using the supplied arguments.  See PrintUIEntry for an example of using rundll32.
script A program or series of commands stored as ordinary text in a file, that can interpreted by a suitable script interpreter to perform useful actions.  Examples of common scripting languages (with the corresponding file extensions in parenthesis) are Visual Basic Script (vbs), Java Script (js) and Perl (pl)
server A computer that responds to a request from another computer across the network is referred to as the server.  Thus, a computer that hosts a printer that has a share is referred to as the print server.  The other computer is referred to as the client.
service A program that can be automatically started as part of the operating system start-up process and that runs continuously in the background.  Specific information about the program and its configuration is recorded in the operating system's registry.  It's this configuration information that identifies the program and turns it into a serviceServices can be manipulated using the Services MMC snap-in (e.g. in Computer Management) or by the sc command. 

A service may require other services to operate; in this case, the first service is said to be dependent on the these other services.  If a depended upon service isn't running or can not be started, the service(s) that are dependent won't start either.  For example, the Print Spooler service is dependent on the Remote Procedure Call service.

share This the logical construct (or object) that exposes a resource (e.g. a printer) to other computers using Microsoft Windows Networking.  One creates a share for a resource using that resource's Sharing property page.  Resources that don't have a share are not directly visible to other computers on the network.
Share Name The name of the printer (or folder) share.  This is the name used to identify the printer (or folder) from another computer over the network (e.g. in a net use command or the /n parameter of a rundll32 printui.dll,PrintUIEntry command).  If a share name has more than 12 characters or has embedded spaces, the share will not be visible to Windows 95, 98 or ME computers.
spooler See print spooler.
UNC Name Universal Naming Convention name.  The Windows Server 2003 TechCenter Glossary of Registry Terms (http://technet2.microsoft.com/windowsserver/en/library/c4dd12f8-d96a-476a-8e31-6c2043fe77a71033.mspx?mfr=true) defines this as "A convention for naming files and other resources beginning with two backslashes (\), indicating that the resource exists on a network computer".  A UNC name is a series of names separated by "\" where each name is at a lower level in a hierarchy.  For printers, there are usually only two levels in the hierarchy; the computer name of the print server and the share name of the printer.  E.g. \\printservername\printersharename

Last updated: 8 Nov 2007.

Hit Counter