Site icon EfmSoft

What does HRESULT 0x80040005 (OLE_E_NOTRUNNING) mean?

 
Could be also:
ConstantTypeOS
TAPI_E_OPERATIONFAILEDHRESULTWindows
Previous Next
TAPI_E_INVALIDMEDIATYPE TAPI_E_OPERATIONFAILED

OLE_E_NOTRUNNING

OLE object must be running for the requested operation

OLE_E_NOTRUNNING is HRESULT 2147745797 (0x80040005) from winerror.h. The documented description is “Need to run the object to perform this operation” The result belongs to an IOleObject or link operation that requires the server process to be active. This HRESULT is most useful when tied to the method and lifecycle phase where the object is loaded or represented by a handler but its server is not in the running state.

This result means that the object is loaded or represented by a handler but its server is not in the running state. Preserve the original HRESULT and the state that made this condition true; the severity bit alone does not determine how the caller should handle it.

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 is loaded or represented by a handler but its server is not in the running state.

Typical causes and interpretation

The immediate contract boundary is specific: the object is loaded or represented by a handler but its server is not in the running state. Common cause branches include the following:

  • The container did not call OleRun or an activating verb.
  • The server exited or was shut down.
  • A static presentation was mistaken for a live object.

Confirm the cause branch that explains why the object is loaded or represented by a handler but its server is not in the running state by using call arguments, object state, metadata, device information, or provider traces.

Correct handling and recovery

The primary recovery is to start the object through the documented activation path, then repeat only the operation that requires live server state. The failure report should capture the relevant state during an IOleObject or link operation that requires the server process to be active so it is clear why the object is loaded or represented by a handler but its server is not in the running state.

The owner of it must define idempotency, cancellation, attempt limits, and reconciliation for the failed an IOleObject or link operation that requires the server process to be active.

Practical scenario

A container requests live data from an embedded spreadsheet that is only loaded from storage; OleRun starts the server before the data call.

Difference from related HRESULTs

OLE_E_STATIC means the object is intentionally static and cannot become a live server object; it may be recoverable by activation.

Developer and administrator guidance

Broad permission or compatibility changes are inappropriate unless evidence for the object is loaded or represented by a handler but its server is not in the running state points to that layer.

References


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

Exit mobile version