By supporting predefined sets of API functions, Windows 2000 and later print providers can supply the following capabilities:
Adding, deleting, opening, closing, enumerating, and setting parameters for print queues. Also, providing notification of changes to a print queue's state.
Adding, deleting, enumerating, and specifying a directory for printer drivers.
Starting and ending a document, starting and ending a document page, writing the job's data stream to a port, reading printer status information.
Scheduling, enumerating, and setting parameters for a print job.
Adding, deleting, enumerating, and setting parameters for print forms.
Adding, deleting, enumerating, specifying a directory for and the data types supported by print processors.
Adding, deleting, and enumerating print monitors.
Adding, deleting, configuring, enumerating, and setting parameters for printer ports.
Creating, deleting, and enumerating registry keys and values associated with a print provider.
Displaying a message box, shutting down the print provider, reading a memory mapped spool file, providing a communication path between port monitor UI DLLs and port monitor server DLLs.
These capabilities are implemented as a set of functions defined by print providers.