3.2.1 Abstract Data Model

This section describes a conceptual model of possible data organization that an implementation maintains to participate in this protocol. The described organization 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 that described in this specification.

A server implementing this RPC interface contains several logical elements: an SMB network redirector, one or more network protocol transports, a list of users (and associated domain information) who are using the server, and names that identify the server on the network.

One or more network protocol transports are associated with an SMB network redirector. A transport is a protocol that is logically the layer below the redirector and provides reliable delivery of redirector messages.

Transports can be dynamically enabled and disabled from a redirector. A transport MUST be enabled for a redirector before the redirector can transmit messages through the transport. A transport has an implementation-specific name; transport names are unique on a per-computer basis.

Users are logical entities that make use of a computer. A server maintains a list of users who are currently active on it. This is referred to as the "user list". Users can be logical members of a domain; in that case, associated with each logical user is the domain of which the user is a member.

The server data model is defined as follows:

DormantFileLimit: The maximum number of file or printer handles the SMB network redirector can hold open after the application has closed its handle.

IsWorkstationPaused: A Boolean that, if set, indicates that redirection for the printer share and serial communications devices is paused.

Keep_Connection: The number of seconds the SMB connection keeps active.

Max_Commands: The number of simultaneous network commands that can be sent to the SMB network redirector.

Platform_Id: The type of operating system running on the computer.

Session_TimeOut: The number of seconds that the server waits before disconnecting an inactive session.

UseTable: A table of use entries, indexed by UseEntry.UserToken, as specified in section 3.2.1.7.

Ver_Major: The major version number of the operating system running on the computer.

Ver_Minor: The minor version number of the operating system running on the computer.