| Previous | Next |
| hrInvalidDatabase | hrAlreadyInitialized |
hrNotInitialized
Diagnostic focus
hrNotInitialized means an ESE call requiring a running instance was made before successful initialization.
This is the legacy Directory Service backup/restore HRESULT form of JET_errNotInitialized (0xC8000405).
The key comparison is: hrTermInProgress means initialization once existed but shutdown has started. The first useful observation is to trace JetCreateInstance/JetSetSystemParameter/JetInit outcomes and the thread that issued the failing call. This evidence shows whether startup, normal operation, shutdown, or restore ordering is the actual boundary.
The ESE objects in play
| Diagnostic layer | ESE instance state and call ordering |
|---|---|
| Typical API surface | JetCreateInstance, JetSetSystemParameter, JetInit, JetTerm, and restore entry points |
| Code-specific condition | an ESE call requiring a running instance was made before successful initialization |
| First corrective direction | make initialization success a hard prerequisite and do not publish the instance to workers early |
Initialization parameters are generally established before JetInit. Handles derived from an instance are not reusable after teardown.
Evidence that resolves the ambiguity
- Code-specific observation: trace JetCreateInstance/JetSetSystemParameter/JetInit outcomes and the thread that issued the failing call.
- the successful or failed JetInit/JetTerm sequence and the component that owns it; associate it with this result rather than with a later generic exception.
- all still-live sessions and child handles at the transition.
- the first request accepted after shutdown or before initialization completed.
Nearby results that mean something different
hrInvalidOperation | the engine state, object type, or call ordering makes the requested operation invalid |
|---|---|
hrTermInProgress | the instance teardown boundary: new work reached ESE after termination had begun |
hrFeatureNotAvailable | an API or option is recognized but absent from the engine build or operating mode in use |
A disciplined correction path
- Freeze the failing request context and record
0xC8000405, the Jet API name, and the current instance/session ownership. - Verify the code-specific precondition: trace JetCreateInstance/JetSetSystemParameter/JetInit outcomes and the thread that issued the failing call.
- Apply the targeted fix: make initialization success a hard prerequisite and do not publish the instance to workers early.
- Before retrying the operation, reconcile instance state, admission control, and child-handle cleanup.
Actions that can hide or worsen the problem
- Do not reuse instance-derived handles after the lifecycle transition.
- Do not start a second initializer to work around an ordering defect.
Technical references
Looking for a different code? Search another status or error code.