1.3.4 ORPC Calls

An ORPC call is equivalent to, and possesses a one-to-one correspondence with, RPC calls. ORPC calls are distinguished from RPC calls by the contents of the Object UUID field of the RPC header, as specified in [C706] section 12.5.2.6. In the DCOM Remote Protocol, the Object UUID field carries an interface pointer identifier (IPID) specifying the interface targeted by a given ORPC call on an object.

ORPC calls are further distinguished from RPC calls in that the former will always have implicit additional parameters present within the request and response buffers for each call. These additional parameters are referred to as ORPCTHIS and ORPCTHAT, respectively (see section 2.2.12). The ORPCTHIS and ORPCTHAT parameters are conceptually and syntactically placed ahead of all other values in the RPC PDU body (as specified in [C706] section 12.1).

Object RPC calls and the PDU body request

Figure 3: Object RPC calls and the PDU body request

Object RPC calls and the PDU body response

Figure 4: Object RPC calls and the PDU body response

The ORPCTHIS and ORPCTHAT arguments are used to provide versioning, causality information, and the capability to send application-specific out-of-band data.