Print Spooler Administration APIs

Much of the Windows 95 print spooler code administers print process objects such as printers, print jobs, printer drivers, print processors, monitors, and ports. The functions that the print spooler offers to perform these administrative functions can be identified by the first few letters of each function name. For example, there are function names such as AddPrinter, AddJob, AddPrinterDriver, AddPrintProcessor, AddMonitor, and AddPort. All of these functions add objects to the print spooler environment. All of the functions identified in this paragraph are documented in the Win32 SDK.

Similarly, there is a set of functions which begin with Delete, such as DeletePrinter, which delete objects from the spooler environment. Another set of functions, whose names begin with Enum, enumerate the objects of a certain type currently in the spooler environment. An example of an enumeration function is EnumPrinters.

GetPrinter gets configuration data from a printer and SetPrinter sets configuration data on a printer. Functions that get and set configuration data on other objects in the spooler environment are also available, such as GetJob and SetJob.

The following table summarizes the operations that are performed by the Add, Delete, Enum, Get, and Set functions on each of the different objects in the spooler environment:

Function Type

Printer

Job

Printer Driver

Print Processor

Monitor

Port

Add

Yes

Yes

Yes

Yes

Yes

Yes

Delete

Yes

No

Yes

Yes

Yes

Yes

Enum

Yes

Yes

Yes

Yes

Yes

Yes

Get

Yes

Yes

Yes

Yes

No

No

Set

Yes

Yes

No

No

No

No


Although the local print provider accepts the calls to all of these spooler object administration functions, the code that actually administers each type of object (for example by entering or deleting information from the Registry) is distributed through the layers of the print spooler architecture. Printer and job management data such as printer settings and status and job settings and status are displayed at the top-most level of the system, the Shell user interface.