1.7.1 RPC Over HTTP Transport
Protocol Version: The RDGSP Protocol RPC interface has a single version number of 1.3. The RDGSP Protocol can be extended without altering the version number by adding RPC methods to the interface with opnums lying numerically beyond those defined in this specification. An RDG client determines whether such methods are supported by attempting to invoke the method. If the method is not supported, the RDG server returns an RPC_S_PROCNUM_OUT_OF_RANGE error. RPC versioning and capacity negotiation are specified in [C706] section 18.104.22.168 and [MS-RPCE] section 1.7. The Network Data Representation (NDR) version required for this transport is 0x50002.
Security and Authentication Methods: The RDGSP Protocol supports all authentication methods as specified in [MS-RPCE] section 1.7. The NTLM and Schannel authentication methods have pluggable security provider modules, as specified in [MS-RPCE] section 22.214.171.124.7. RPC authentication APIs are specified in [C706] section 2.7. In addition to RPC authentication, the RDGSP Protocol supports cookie-based pluggable authentication.
The RDGSP Protocol does not make direct calls using NTLM, Secure channel (Schannel), and Basic authentication, but instead uses RPC over HTTP as specified in [MS-RPCE] section 126.96.36.199. The NTLM sequence for RPC is provided in section 4.2.
Capability Negotiation: This protocol does not enforce any explicit version negotiation, but there is support for version negotiation. An explicit capabilities check is performed by the RDG client to ensure that its capabilities are supported and matched by the RDG server. The RDG client and RDG server announce their version and capabilities by using the TsProxyCreateTunnel method call. For specifications on the current version and capabilities announced by the RDG client and RDG server, see section 2.2.7.