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 file name 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.