4.8.4. ORPC interfaces running in the rpcss service

ORPC (Object RPC) services are used by DCOM (Distributed COM). ORPC calls can be distinguished from RPC calls because, on the wire, they always have an implicit parameter, either of type ORPCTHIS or ORPCTHAT (see section 3.2 of Section 4.18, “DCOM”).

Also, versions of ORPC services interface identifiers is always 0.0, as explained in [73] :

Finally, the interface version number (named if_vers) must always be 0.0. This is because a COM interface may never be modified after it is published. COM interfaces are not versioned; a new interface is defined instead.

The following ORPC services are running in the rpcss service:

00000136-0000-0000-c000-000000000046 v0.0: ISCMActivator 
000001a0-0000-0000-c000-000000000046 v0.0: ISystemActivator 

ISCMActivator is an ORPC interface implemented by the COM SCM to handle remote activation requests (CoCreateInstance(), CoGetClassObject() ...) :

Table 4.13. ISCMActivator operations

InterfaceOperation numberOperation name
00000136-0000-0000-c000-000000000046 v0.0: ISCMActivator  
 0x00QueryInterfaceSCMActivator
 0x01AddRefISCMActivator
 0x02ReleaseISCMActivator
 0x03SCMActivatorGetClassObject
 0x04SCMActivatorCreateInstance

ISystemActivator (also known as IRemoteSCMActivator) is an ORPC base interface that must be implemented by servers supporting object activation. In the specific case of the COM SCM, running inside the rpcss service, this interface is used when the activation process is looking for an object, asking to the local or a remote SCM to activate a given object.

Table 4.14. ISystemActivator (IRemoteSCMActivator) operations

InterfaceOperation numberOperation name
000001a0-0000-0000-c000-000000000046 v0.0: ISystemActivator (IRemoteSCMActivator)  
 0x00QueryInterfaceIRemoteSCMActivator
 0x01AddRefIRemoteISCMActivator
 0x02ReleaseIRemoteISCMActivator
 0x03RemoteGetClassObject
 0x04RemoteCreateInstance