4.8.3. DCOM-related RPC interfaces running in the rpcss service

The rpcss service not only runs the RPC subsystem but also the COM Service Control Manager (SCM), which is at the core of the COM/DCOM infrastructure. As a result, some RPC services are available in the rpcss service, as well as some ORPC services, as explained in the next section.

The IRemoteActivation (IActivation) interface is an RPC interface implemented by the COM SCM (Services Control Manager) to handle COM objects activation requests :

4d9f4ab8-7d1c-11cf-861e-0020af6e7c57 v0.0: IRemoteActivation (IActivation)

The IRemoteActivation RPC interface has exactly one operation, RemoteActivation(), as described in section 6.2 of the DCOM specification Section 4.18, “DCOM”.

Table 4.7. IRemoteActivation (IActivation) operations

InterfaceOperation numberOperation name
4d9f4ab8-7d1c-11cf-861e-0020af6e7c57 v0.0: IRemoteActivation (IActivation)  
 0x00RemoteActivation

Starting with Windows 2000, the ISystemActivator COM interface is used instead of the IRemoteActivation RPC interface.

The IOXIDResolver RPC interface (formerly known as IObjectExporter) is remotely used to reach the local object resolver (OR). The Object Resolver component is in charge to:

The interface identifier of IOXIDResolver is:

99fcfec4-5260-101b-bbcb-00aa0021347a v0.0: IOXIDResolver

Table 4.8. IOXIDResolver operations

InterfaceOperation numberOperation name
99fcfec4-5260-101b-bbcb-00aa0021347a v0.0: IOXIDResolver  
 0x00ResolveOxid
 0x01SimplePing
 0x02ComplexPing
 0x03ServerAlive
 0x04ResolveOxid2
 0x05ServerAlive2

There is also a local version of the IOXIDResolver:

e60c73e6-88f9-11cf-9af1-0020af6e72f4 v2.0: ILocalObjectExporter

Table 4.9. ILocalObjectExporter operations

InterfaceOperation numberOperation name
e60c73e6-88f9-11cf-9af1-0020af6e72f4 v2.0: ILocalObjectExporter  
 0x00Connect
 0x01AllocateReservedIds
 0x02BulkUpdateOIDs
 0x03ClientResolveOXID
 0x04ServerAllocateOXIDandOIDs
 0x05ServerAllocateOIDs
 0x06ServerFreeOXIDAndOIDs
 0x07Disconnect

For more information about the DCOM transport into DCE RPC, see [73].

The ISCM RPC interface is a local interface used by local applications to communicate with the local COM SCM:

412f241e-c12a-11ce-abff-0020af6e7a17 v0.2: ISCM

Table 4.10. ISCM operations

InterfaceOperation numberOperation name
412f241e-c12a-11ce-abff-0020af6e7a17 v0.2: ISCM  
 0x00ServerRegisterClsid
 0x01ServerRevokeClsid
 0x02GetThreadID
 0x03UpdateActivationSettings
 0x04RegisterWindowPropInterface
 0x05GetWindowPropInterface
 0x06EnableDisableDynamicIPTracking
 0x07GetCurrentAddrExclusionList
 0x08SetAddrExclusionList
 0x09FlushSCMBindings
 0x0aRetireServer

The IROT RPC interface is used by local processes to access the Running Object Table (ROT), to register or unregister COM objects:

b9e79e60-3d52-11ce-aaa1-00006901293f v0.2:IROT

Table 4.11. IROT operations

InterfaceOperation numberOperation name
b9e79e60-3d52-11ce-aaa1-00006901293f v0.2: IROT  
 0x00IrotRegister
 0x01IRotRevoke
 0x02IrotIsRunning
 0x03IrotGetObject
 0x04IrotNoteChangeTime
 0x05IrotGetTimeOfLastChange
 0x06IrotEnumRunning

The IMachineActivatorControl is also a local interface used to notify the COM SCM when COM surrogates start or stop:

c6f3ee72-ce7e-11d1-b71e-00c04fc3111a v1.0: IMachineActivatorControl

Table 4.12. IMachineActivatorControl operations

InterfaceOperation numberOperation name
c6f3ee72-ce7e-11d1-b71e-00c04fc3111a v1.0: IMachineActivatorControl  
 0x00ProcessActivatorStarted
 0x01ProcessActivatorInitializing
 0x02ProcessActivatorReady
 0x03ProcessActivatorStopped
 0x04ProcessActivatorPaused
 0x05ProcessActivatorResumed
 0x06ProcessActivatorUserInitializing