| Previous | Next |
| S_OK | S_FALSE |
hrNone
Interpretation in the backup state machine
hrNone means the Directory Service backup or restore API completed the requested step without returning a warning or failure.
The stored value is 0x00000000 (zero). The severity bits and zero value make this a successful call result. The legacy symbolic name comes from the Windows Directory Service backup/restore message header.
The first useful distinction is that zero confirms the call result, but it does not prove that later files were copied, logs were truncated, or the whole backup set is restorable. Start by recording which API returned zero and verify the output handle, byte count, file list, or final restore state promised by that specific function.
Start with these observations
- Code-specific observation: record which API returned zero and verify the output handle, byte count, file list, or final restore state promised by that specific function.
Objects and state involved
| Diagnostic layer | one call in the Directory Service backup/restore state machine |
|---|---|
| Relevant API surface | DsBackupPrepare, file enumeration/read/close, DsBackupEnd, DsRestorePrepare, registration, and completion |
| Code-specific condition | the Directory Service backup or restore API completed the requested step without returning a warning or failure |
| Narrow corrective direction | advance the documented state machine only after validating the outputs and keep the final cleanup call in every success path |
A zero HRESULT is call-level success; output parameters and the next legal transition remain part of the contract. A usable backup still requires the database files, required logs, expiry token, catalog metadata, and successful finalization.
Recovery or retry plan
- Record it,
0x00000000, the API name, the current phase, and all live context or file owners. - Verify the condition by recording which API returned zero and verify the output handle, byte count, file list, or final restore state promised by that specific function.
- Apply only the targeted fix: advance the documented state machine only after validating the outputs and keep the final cleanup call in every success path.
Not the same as
It specifically means that zero confirms the call result, but it does not prove that later files were copied, logs were truncated, or the whole backup set is restorable. Related values below can appear in the same workflow but require a different response:
hrNoFullRestore | an incremental restore was requested before a full backup had established the destination database baseline |
|---|---|
hrCreateIndexFailed | a compound table-creation operation could not complete one of its requested index definitions |
hrTooManyIO | the engine reached its outstanding-I/O throttle and refused to queue more storage work |
Actions that can make diagnosis worse
- Do not skip close/end operations because the data-copy loop returned zero.
- Do not mark the whole job successful after only the prepare call.
Acceptance criteria for a fix
A useful regression test should force the condition “the Directory Service backup or restore API completed the requested step without returning a warning or failure”, call one documented API transition, and assert the exact HRESULT.
Technical references
- AD backup walkthrough — API ordering, file semantics, warning/error interpretation, or recovery behavior relevant to this HRESULT.
- AD restore walkthrough
- ESE error semantics
- Microsoft JET_ERR enumeration
Looking for a different code? Search another status or error code.
