3.1.1 Abstract Data Model

This section describes a conceptual model of a possible data organization that an implementation might need to maintain in order to participate in this protocol. The organization that is described in this section is provided to facilitate the explanation of how the protocol behaves. This specification does not mandate that implementations adhere to this model as long as their external behavior is consistent with the behavior described in this specification.

This protocol depends on an abstract data model that maintains information about printers and related objects. These objects represent physical output devices, and they are used in the protocol to communicate with those devices, to print to them, and to manage their configurations.

A print server behaves as if it hosted the following objects in the hierarchy specified in the abstract data model for the Print System Remote Protocol ([MS-RPRN] section 3.1.1).

Note A print server maintains only one copy of the data underlying the implementation that exposes the Print System Remote Protocol or Print System Asynchronous Remote Protocol.

  • List of Print Server Names

  • List of Form Objects

  • List of Printers

  • List of Printer Drivers

  • List of Core Printer Drivers

  • List of Language Monitors

  • List of Port Monitors

  • List of Ports

  • List of Print Providers

  • List of Print Processors

  • List of Known Printers

  • List of Notification Clients

  • Job Named Properties<6>

  • Branch Office Print Remote Log Entries<7>

The abstract data model associates each printer with a single printer driver, a single printer port, and exactly one print processor. Every object stored in the abstract data model defines an associated set of attributes, as Print System Remote Protocol IDL Data Types ([MS-RPRN] section 2.2.1) and Custom-Marshaled Data Types ([MS-RPRN] section 2.2.2).

NoteĀ  The previous conceptual data can be implemented using a variety of techniques. A print server can implement such data as needed.