Functions That a Network Print Provider Must Implement

The following functions are required for printing. They must be supported by all network Print Providers. For detailed information about each of these functions, see Reference.

Function Name

Description

AbortPrinter

Cancels and deletes the currently spooling job for the specified printer.

AddJob

Returns a full path and filename of a file that can be used to store a print job.

ClosePrinter

Closes the given printer object.

DeleteJob

Deletes a print job for a given printer.

EndDocPrinter

Ends a print job for the specified printer.

EndPagePrinter

Indicates the end of one page and the beginning of the next page.

EnumJobs

Initializes an array of either JOB_INFO_1 or JOB_INFO_2 structures with data describing the specified print jobs for the given printer.

EnumPrinters (Level 1)

Enumerates the available printers on the specified server.

GetPrinter (Level 2)

Retrieves data for the specified printer.

GetJob

Retrieves data about a print job for the specified printer.

InitializePrintProvidor

Fills a table of entry points for a print provider.

OpenPrinter

Returns a handle identifying the specified printer or print server.

ScheduleJob

Informs the print spooler that the specified job can be scheduled for printing.

SetJob

Pauses, resumes, cancels, or restarts the specified print job on the given printer. The function can also be used to set print job parameters such as the job priority, the document name, and so forth.

SetPrinter

Sets the specified printer by pausing printing, resuming printing, or clearing all print jobs. It can also be used to set printer data.

StartDocPrinter

Informs the print spooler that a document is to be spooled for printing.

StartPagePrinter

Informs the spooler that a page is about to be printed on the specified printer.

WritePrinter

Informs the print spooler that the specified data should be written to the specified printer.


The bulk of the information about these functions is also available in the Win32 Programmer's Reference. It is presented here in annotated form for ease of reference. The one data structure used by a Network Print Provider that is not described in the Win32 Programmer's Reference is documented in this section also. That is the PRINTPROVIDOR structure.

Other data structures that may possibly be used by the functions in a Windows 95 Network Print Provider are: ADDJOB_INFO_1, JOB_INFO_1, JOB_INFO_2, PRINTER_INFO_1, PRINTER_INFO_2, PRINTER_INFO_3, DRIVER_INFO_1, DRIVER_INFO_2, and PRINTER_DEFAULTS. These data structures used by are used by the Windows NT spooler and have the same definitions in Windows 95. You can find documentation for these structures in the Win32 Programmer's Reference.