| Previous | Next |
| hrCouldNotConnect | hrIncrementalBackupDisabled |
hrRestoreMapExists
What this return value changes
hrRestoreMapExists means a restore map is already registered for the component while the caller attempts to add another mapping.
The stored value is 0xC7FF0008 (facility-specific HRESULT). The legacy symbolic name comes from the Windows Directory Service backup/restore message header.
The first useful distinction is that a restore map is valid only in the supported full-restore path; it is not a general path override for incremental restore. Start by capturing the component identifier, restore type, existing old/new paths, and the call order that populated the map.
Objects and state involved
| Diagnostic layer | offline AD restore preparation, path mapping, directory locking, and HBC lifetime |
|---|---|
| Relevant API surface | DsRestorePrepare, DsRestoreGetDatabaseLocations, DsRestoreRegister, DsRestoreRegisterComplete, and DsRestoreEnd |
| Code-specific condition | a restore map is already registered for the component while the caller attempts to add another mapping |
| Narrow corrective direction | reuse or clear the one authoritative map and restart preparation if the mapping itself is wrong |
Legacy AD restore is performed offline and the restore directories are registered and locked before files are replaced. Restore completion status affects whether Active Directory is allowed to start.
Evidence worth preserving
- Code-specific observation: capture the component identifier, restore type, existing old/new paths, and the call order that populated the map.
How to distinguish nearby results
It specifically means that a restore map is valid only in the supported full-restore path; it is not a general path override for incremental restore. 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 |
|---|---|
hrCircularLogging | the Directory Service component is using circular logs, so the historical range needed for an incremental backup is not guaranteed to remain |
hrBadDbSignature | the database signature does not match the backup or log set used for recovery |
A safe response sequence
- Record it,
0xC7FF0008, the API name, the current phase, and all live context or file owners. - Verify the condition by capturing the component identifier, restore type, existing old/new paths, and the call order that populated the map.
- Apply only the targeted fix: reuse or clear the one authoritative map and restart preparation if the mapping itself is wrong.
Actions that can make diagnosis worse
- Do not copy files before the restore directories are prepared and locked.
- Do not report success to completion when file restoration failed.
Acceptance criteria for a fix
A useful regression test should force the condition “a restore map is already registered for the component while the caller attempts to add another mapping”, call one documented API transition, and assert the exact HRESULT.
Technical references
- AD restore walkthrough — API ordering, file semantics, warning/error interpretation, or recovery behavior relevant to this HRESULT.
- DsRestorePrepare contract
- Restore completion contract
- Microsoft list of AD DS backup errors
Looking for a different code? Search another status or error code.
