What does HRESULT 0x800401FC (CO_E_OBJISREG) mean?

 
Previous Next
CO_E_OBJNOTREG CO_E_OBJNOTCONNECTED

CO_E_OBJISREG

Meaning

Windows documents CO_E_OBJISREG as “Object is already registered”. In practical terms, it is returned when an object-registration path attempts to create a registration that already exists for the same logical identity.

Where the failure belongs

This result belongs to COM activation and object lifetime. COM activation is a sequence rather than one registry lookup: identifier resolution, class registration, module or process start, class-factory publication, marshaling, and object lifetime can fail independently. The relevant condition is that an object-registration path attempts to create a registration that already exists for the same logical identity.

Likely causes

  • Possible cause 1: startup runs the registration sequence twice.
  • Possible cause 2: two server instances claim the same moniker or object key.
  • Possible cause 3: cleanup lost the registration token and failed to revoke the previous entry.

Evidence to collect

  • Capture 1: the existing registration owner, process ID and moniker display name.
  • Capture 2: registration tokens returned to each server instance.
  • Capture 3: startup concurrency and duplicate initialization call stacks.

Diagnostic sequence

  1. Confirm that the observed path matches this condition: an object-registration path attempts to create a registration that already exists for the same logical identity.

Correct handling and retry

  • Corrective action 1: make registration idempotent or explicitly reject a second server instance.
  • Corrective action 2: retain and revoke the original registration token during orderly shutdown.
  • Corrective action 3: choose unique identities only when multiple simultaneous objects are part of the contract.

Retry guidance. Do not retry unchanged; first reuse, revoke or deliberately replace the existing registration according to ownership rules. When retrying, avoid launch duplicate servers, reuse stale proxies or repeat an activation whose side effects are unknown.

Practical scenario

Two copies of a document server start after a service-control race and both register the same object identity; enforcing single-instance startup removes it.

Difference from nearby HRESULTs

CO_E_OBJNOTREG reports an absent live entry; it reports that the intended registration slot is already occupied.

Developer and operational guidance

Official Microsoft references


Looking for a different code? Search another status or error code.