1.3 Overview

The Workstation Service Remote Protocol is designed for remotely querying and configuring certain aspects of an SMB network redirector on a remote computer. For example, an implementer can use this protocol to query the computer name or major and minor version numbers of the operating system running on a remote computer.

An implementer can also use the protocol to configure the behavior of an SMB network redirector. For example, an implementer can use this protocol to configure the following:

  • The number of seconds the SMB network redirector maintains an inactive SMB connection to a remote computer's resource before closing it.

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

  • The number of seconds the SMB network redirector waits before disconnecting an inactive SMB session.

The protocol is also designed to enumerate all the users currently logged onto a remote computer, and to enumerate the transport protocols currently enabled for use by the SMB network redirector on a remote computer. When enumerating currently logged-on users or transport protocols, the protocol does not guarantee that all logged-on users or transport protocols are enumerated. The protocol also does not guarantee that the enumerated users or transport protocols are not duplicated.

The protocol can also be used to manage domain membership and the computer names of a computer on a network. For example, this protocol can be used to configure the following:

  • The primary name of a computer

  • Alternate names of a computer

  • The domain membership of a computer

This is an RPC-based protocol. This protocol contains no protocol-specific state that is stored across protocol messages and only operates on state accessible through other protocols and local services. Some methods manipulate the server state and the state at a domain controller (DC) during message processing. This state is not part of this protocol but is exposed by other protocols.

This is a simple request-response protocol. For every method call that the server (2) receives, it executes the method and returns a completion. The client simply returns the completion status to the caller. Each method call is independent of any previous method call.