| Previous | Next |
| MK_E_NO_NORMALIZED | MEM_E_INVALID_ROOT |
CO_E_SERVER_STOPPING
CO_E_SERVER_STOPPING identifies this condition: the SCM contacted a registered server while that server was revoking class objects or otherwise stopping.
The contract behind the HRESULT
COM activation is a sequence rather than a single operation: registration lookup, SCM or surrogate selection, process startup, class-factory publication, marshaling, and finally the requested interface call. The useful evidence is the evidence from the first stage that fails; a later RPC or cleanup message can otherwise hide the original activation problem.
A permanently unregistered class differs from a transient server generation that is deliberately stopping.
Diagnostic worksheet
- Server shutdown trigger, service-control event, process lifetime, and outstanding client count
- CoRevokeClassObject timing and class-factory registration state
- Activation timestamp relative to deployment, recycle, idle shutdown, or crash recovery
- Client retry policy and whether it targets the same server generation
Reproduce the condition safely
- Block new work before revoking class objects and observe whether activations drain cleanly.
- Delay shutdown until outstanding calls finish in a controlled build.
- Retry once against a new server generation and verify that stale proxies are not reused.
Closing the incident
The corrective action should be narrow: Coordinate admission control, class-object revocation, outstanding calls, and service stop so clients receive a stable handoff.
Close the incident only when rolling restart tests show no activation window where clients bind to the retiring generation, and bounded retry reaches the replacement server.
Technical references
Looking for a different code? Search another status or error code.