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
| Interface | Operation number | Operation name |
|---|---|---|
| 4d9f4ab8-7d1c-11cf-861e-0020af6e7c57 v0.0: IRemoteActivation (IActivation) | ||
| 0x00 | RemoteActivation |
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
| Interface | Operation number | Operation name |
|---|---|---|
| 99fcfec4-5260-101b-bbcb-00aa0021347a v0.0: IOXIDResolver | ||
| 0x00 | ResolveOxid | |
| 0x01 | SimplePing | |
| 0x02 | ComplexPing | |
| 0x03 | ServerAlive | |
| 0x04 | ResolveOxid2 | |
| 0x05 | ServerAlive2 |
There is also a local version of the IOXIDResolver:
e60c73e6-88f9-11cf-9af1-0020af6e72f4 v2.0: ILocalObjectExporter
Table 4.9. ILocalObjectExporter operations
| Interface | Operation number | Operation name |
|---|---|---|
| e60c73e6-88f9-11cf-9af1-0020af6e72f4 v2.0: ILocalObjectExporter | ||
| 0x00 | Connect | |
| 0x01 | AllocateReservedIds | |
| 0x02 | BulkUpdateOIDs | |
| 0x03 | ClientResolveOXID | |
| 0x04 | ServerAllocateOXIDandOIDs | |
| 0x05 | ServerAllocateOIDs | |
| 0x06 | ServerFreeOXIDAndOIDs | |
| 0x07 | Disconnect |
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
| Interface | Operation number | Operation name |
|---|---|---|
| 412f241e-c12a-11ce-abff-0020af6e7a17 v0.2: ISCM | ||
| 0x00 | ServerRegisterClsid | |
| 0x01 | ServerRevokeClsid | |
| 0x02 | GetThreadID | |
| 0x03 | UpdateActivationSettings | |
| 0x04 | RegisterWindowPropInterface | |
| 0x05 | GetWindowPropInterface | |
| 0x06 | EnableDisableDynamicIPTracking | |
| 0x07 | GetCurrentAddrExclusionList | |
| 0x08 | SetAddrExclusionList | |
| 0x09 | FlushSCMBindings | |
| 0x0a | RetireServer |
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
| Interface | Operation number | Operation name |
|---|---|---|
| b9e79e60-3d52-11ce-aaa1-00006901293f v0.2: IROT | ||
| 0x00 | IrotRegister | |
| 0x01 | IRotRevoke | |
| 0x02 | IrotIsRunning | |
| 0x03 | IrotGetObject | |
| 0x04 | IrotNoteChangeTime | |
| 0x05 | IrotGetTimeOfLastChange | |
| 0x06 | IrotEnumRunning |
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
| Interface | Operation number | Operation name |
|---|---|---|
| c6f3ee72-ce7e-11d1-b71e-00c04fc3111a v1.0: IMachineActivatorControl | ||
| 0x00 | ProcessActivatorStarted | |
| 0x01 | ProcessActivatorInitializing | |
| 0x02 | ProcessActivatorReady | |
| 0x03 | ProcessActivatorStopped | |
| 0x04 | ProcessActivatorPaused | |
| 0x05 | ProcessActivatorResumed | |
| 0x06 | ProcessActivatorUserInitializing |