3.3.4 Message Processing Events and Sequencing Rules

The RASRPC Server interface provides methods that remotely retrieve and set the configuration of the RRAS. The version for this interface is 1.0.

To receive incoming remote calls for this interface, the Rasrpc server MUST implement an RPC endpoint using the UUID, 20610036-fa22-11cf-9823-00a0c911e5df. As a part of the message processing, RRASM validates parameters as specified under the following methods. It then hands over the information to the actual RRAS implementation using the Invoke RASRPC method. The Invoke RASRPC method will provide any data required and the completion status of the operation which is sent back to the client over the RASRPC interface of RRASM protocol.

The RASRPC server MUST perform a strict Network Data Representation (NDR) data consistency check at target level 5.0, as specified in [MS-RPCE] section 3.

This protocol MUST indicate to the RPC runtime that it is to reject a NULL unique or full pointer with nonzero conformant value, as specified in [MS-RPCE] section 3.

In the following table, the term "Reserved for local use" means that clients MUST NOT send the opnum, and the server behavior is undefined because it does not affect interoperability.

The Rasrpc server implementation MUST check that the client invoking the method is an administrator of the RRASM server. If the client invoking the method is not an administrator of the RRASM server, the server MUST indicate the lack of access permission in the form of a specific error code. The server SHOULD<332> throw an RPC exception with the exception code RPC_S_ACCESS_DENIED (0x00000005) if the client does not have access permission. If the server is not throwing an exception, it MAY<333> return a status code of E_ACCESSDENIED (0x80070005) to indicate to the client that it does not have the required access.

The RPC methods MUST NOT throw any other exception. The other exceptions allowed are those thrown by the underlying RPC protocol [MS-RPCE].

Methods in RPC Opnum order.

Method

Description

Opnum0NotUsedOnWire

Reserved for local use.

Opnum: 0

Opnum1NotUsedOnWire

Reserved for local use.

Opnum: 1

Opnum2NotUsedOnWire

Reserved for local use.

Opnum: 2

Opnum3NotUsedOnWire

Reserved for local use.

Opnum: 3

Opnum4NotUsedOnWire

Reserved for local use.

Opnum: 4

RasRpcDeleteEntry

Deletes a specific RRAS entry from an RRAS Phonebook path.

Opnum: 5

Opnum6NotUsedOnWire

Reserved for local use.

Opnum: 6

Opnum7NotUsedOnWire

Reserved for local use.

Opnum: 7

Opnum8NotUsedOnWire

Reserved for local use.

Opnum: 8

RasRpcGetUserPreferences

Retrieves the configuration information.

Opnum: 9

RasRpcSetUserPreferences

Sets the configuration information.

Opnum: 10

RasRpcGetSystemDirectory

Retrieves the path of the system directory.

Opnum: 11

RasRpcSubmitRequest

Retrieves or sets the configuration data on the RRAS server.

Opnum: 12

Opnum13NotUsedOnWire

Reserved for local use.

Opnum: 13

RasRpcGetInstalledProtocolsEx

Retrieves the protocol information on the RRAS server.

Opnum: 14

RasRpcGetVersion

Retrieves the RASRPC server interface version.

Opnum: 15

Opnum16NotUsedOnWire

Reserved for local use.

Opnum: 16