| 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. AllStat describes it as “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. The symbol this result is useful only 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.
The decisive meaning of this result is that the object is loaded or represented by a handler but its server is not in the running state. The severity bit does not decide handling; the controlling fact is that the object is loaded or represented by a handler but its server is not in the running state. A reliable it diagnosis preserves the raw value and reconstructs the state that made this true: the object is loaded or represented by a handler but its server is not in the running state.
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 for this HRESULT 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 boundary
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 result failure report should expose enough an IOleObject or link operation that requires the server process to be active state to understand why the object is loaded or represented by a handler but its server is not in the running state without a production debugger.
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. Reconcile persistent, remote, device, or ownership state before repeating it.
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. Record the decisive state for this HRESULT and verify recovery on a fresh object or request generation.
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 Tests and telemetry should preserve that boundary for this HRESULT.
Developer and administrator guidance
Developers handling it should make object lifetime and state transitions explicit, preserve the native HRESULT, and keep cleanup paths safe when initialization or output is partial. Build a small container/server fixture that covers loaded, running, in-place active, UI-active, static, linked, and shutdown states.
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. Repair for this HRESULT should target only the evidence-backed component, provider, document, device, or configuration.
References
- Microsoft: generic COM and OLE error codes
- Microsoft: IOleObject
- Microsoft: OLE and data-transfer interfaces
- Microsoft: OLE view caching
Looking for a different code? Search another status or error code.
