3.2.6 Message Processing Events and Sequencing Rules

This protocol asks the RPC runtime to perform a strict NDR data consistency check at target level 7.0 for all methods unless otherwise specified, as specified in [MS-RPCE] section 3.

The RDG server SHOULD<33> enforce appropriate security measures to be sure that the caller has the required permissions to execute the following routines.

The methods MAY throw an exception, and the client MUST handle these exceptions gracefully. The methods implemented by the RDG server MUST be sequential in order as specified in section 1.3.1.1. The method details are specified as follows.

Methods in RPC Opnum Order

Method

Description

Opnum0NotUsedOnWire

Reserved for local use.

Opnum: 0

TsProxyCreateTunnel

Sets up the context in which all further communication between the RDG client and the RDG server occurs.

Opnum: 1

TsProxyAuthorizeTunnel

Authorizes the tunnel based on rules defined by the RDG server.

Opnum: 2

TsProxyMakeTunnelCall

Used to request for administrative messages from the RDG server when the same are available. This method is only called when both the client and the RDG server are capable of handling administrative messages. The request is queued up on the RDG server. The same method is also called during shutdown sequence to cancel any pending administrative message request.<34>

Opnum: 3

TsProxyCreateChannel

Creates a channel between the RDG client and the target server via the RDG server that the RDG client desires to connect.

Opnum: 4

Opnum5NotUsedOnWire

Reserved for local use.

Opnum: 5

TsProxyCloseChannel

Closes the channel between the RDG client and the target server.

Opnum: 6

TsProxyCloseTunnel

Closes the tunnel between the RDG client and the RDG server.

Opnum: 7

TsProxySetupReceivePipe

Used for data transfer from the RDG server to the RDG client.

Opnum: 8

TsProxySendToServer

Used for data transfer from the RDG client to the RDG server.

Opnum: 9

Note In the preceding table, the term "Reserved for local use" means that the client MUST NOT send the opnum, and the RDG server behavior is undefined<35> because it does not affect interoperability.