What does HRESULT 0x80004009 (CO_E_INIT_CLASS_CACHE) mean?

 
Previous Next
CO_E_INIT_MEMORY_ALLOCATOR CO_E_INIT_RPC_CHANNEL

CO_E_INIT_CLASS_CACHE

COM class cache initialization failed

CO_E_INIT_CLASS_CACHE is HRESULT 2147500041 (0x80004009) from winerror.h. The documented description is “Unable to initialize class cache.” The value must be interpreted at COM startup and activation metadata used to resolve registered classes and running servers.

The runtime could not initialize the internal cache that tracks COM class registrations and activation data.

Where the result appears

  • This result may surface in COM startup and activation metadata used to resolve registered classes and running servers.

Typical causes and interpretation

Common cause categories are: registry access is broken; class-cache shared state is unavailable; initialization reentered unexpectedly; COM service data is inconsistent. The candidate causes are alternatives, so test one precondition at a time instead of applying several broad repairs together.

Key distinction: the runtime could not initialize the internal cache that tracks COM class registrations and activation data.

Correct handling and recovery

The appropriate recovery is to verify COM registration and registry access, avoid activation under loader lock, restart the runtime host, and repair the component installation if registration is inconsistent.

Practical scenario

A 32-bit host reads a damaged class registration view and fails before resolving any CLSID; repairing the package restores class-cache initialization.

Difference from related HRESULTs

REGDB_E_CLASSNOTREG identifies one missing class registration after the cache works; this code says the cache infrastructure itself did not initialize.

References


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