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.