1.3.2 Print Spooler Service

The print spooler service is a service that is running on each computer that participates in the Print Services system. The print spooler service implements the print client and print server roles, by enabling each participating system to act as a print client, administrative client, or print server for the Print Services system.

Implementation of the print client role can include implementation of the print server role in the print spooler service due to the dual client/server implementation of the Print System Remote Protocol [MS-RPRN] on most Windows Client operating system versions.<2> If an implementation acts as print client only, it supports all Print System Remote Protocol methods and can optionally support the Print System Asynchronous Remote Protocol [MS-PAR].

For the print server role, the print spooler service registers the RPC endpoints for the print protocols [MS-PAR] [MS-RPRN] [MS-PAN]. The print spooler service also exposes local interfaces that extend Internet Information Services (IIS) to support the Internet Printing Protocol (IPP) [RFC8010] [RFC8011] and the Web Point-and-Print Protocol [MS-WPRN] if they are configured to support IPP.

For the print client role, the print spooler service can use polling to collect changes that are related to printers or to print jobs on the server, or the print spooler service can call the Print System Remote Protocol notification callback functions that are exposed in that protocol's RPC endpoint. Firewall settings or Windows Group Policy settings can prevent the client from receiving printing notifications. The Windows behavior is to use polling in such scenarios. Additionally, the print spooler service exposes local interfaces that are used by client applications to print, obtain print queue status, administer print queues, or perform other print-specific actions.