Site icon EfmSoft

What does HRESULT 0x80040006 (OLE_E_NOCACHE) mean?

 
Could be also:
ConstantTypeOS
TAPI_E_ALLOCATEDHRESULTWindows
Previous Next
TAPI_E_OPERATIONFAILED TAPI_E_ALLOCATED

OLE_E_NOCACHE

OLE object has no presentation cache for the operation

OLE_E_NOCACHE is HRESULT 2147745798 (0x80040006) from winerror.h. The documented description is “There is no cache to operate on” The result belongs to IOleCache, IViewObject, or container presentation handling. The important boundary is not merely failure but which object and state transition established: the object does not contain the cache entry or cache object required by the request.

OLE_E_NOCACHE means that the object does not contain the cache entry or cache object required by the request.

Where the result appears

  • This result can surface in a compound-document containers, embedded or linked objects, OLE activation, advising, caching, conversion, and persistence.
  • Map the failure to one concrete operation among IOleObject, IOleLink, IOleCache, IAdviseSink, IPersistStorage, IOleInPlaceObject, monikers, verbs, and client-site callbacks.
  • Preserve CLSID, object and client-site identity, storage or moniker, advise cookie, verb, activation state, window generation, and presentation format before releasing or replacing the object that returned this result.

An incident record must distinguish caller, runtime, provider, and backing resource while testing whether the object does not contain the cache entry or cache object required by the request.

Typical causes and interpretation

The immediate contract boundary is specific: the object does not contain the cache entry or cache object required by the request. Common cause branches include the following:

  • The requested FORMATETC was never cached.
  • Cache initialization was skipped.
  • The cache was discarded during conversion or reload.

Confirm the cause branch that explains why the object does not contain the cache entry or cache object required by the request by using call arguments, object state, metadata, device information, or provider traces.

Correct handling and recovery

The primary recovery is to create the required cache entry or obtain a live presentation from the running server, then persist it if offline display is needed. The failure report should capture the relevant state during IOleCache, IViewObject, or container presentation handling so it is clear why the object does not contain the cache entry or cache object required by the request.

Retry this result only when evidence shows the state behind “the object does not contain the cache entry or cache object required by the request” can change and the operation is repeatable.

Practical scenario

A document tries to draw an embedded object while its server is unavailable, but no metafile presentation was cached during save.

Difference from related HRESULTs

CACHE_E_NOCACHE_UPDATED concerns failure to update cache entries; it says there is no cache to operate on.

Developer and administrator guidance

Administrators should repair the component owning IOleCache, IViewObject, or container presentation handling as a versioned unit instead of copying arbitrary DLLs.

References


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

Exit mobile version