What does Windows error code 799 (ERROR_ORPHAN_NAME_EXHAUSTED) mean?

 
Previous Next
ERROR_CORRUPT_LOG_CLEARED ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE

ERROR_ORPHAN_NAME_EXHAUSTED

orphaned files could not all be recovered because no new recovery names were available.

ERROR_ORPHAN_NAME_EXHAUSTED means that this condition During file-system repair, Windows found files or directories no longer reachable from their expected directory structure. Recovery normally places them under a recovery directory using generated names, but the available naming space was exhausted.

Where the result appears

  • chkdsk recovery of orphaned files.
  • large-scale directory metadata corruption.
  • volumes whose recovery directory already contains many generated entries.
  • repair after a crash, controller failure, or interrupted metadata update.

What the result tells you

The value identifies a specific Windows state, but it does not by itself identify the component that introduced that state. Preserve the original this result value, the API or subsystem that produced it, and the object being operated on. A wrapper that replaces it with a generic exception or Boolean failure removes the distinction needed to choose the correct recovery path.

Diagnostic evidence to collect

  • the chkdsk log and count of discovered versus recovered orphans.
  • contents and naming pattern of the recovery directory.
  • the directories or indexes whose damage created the orphans.
  • disk health and prior metadata or I/O errors.

Correlate the result evidence on one timeline. The first event that changes the state associated with this result is usually more valuable than later retries returning the same code. Record process and thread identity, session, timestamp, API parameters, and the immediately preceding successful operation.

Handling and recovery

Preserve the volume, move already recovered files out of the recovery directory as directed, and rerun the supported repair so remaining orphans can receive names. Examine recovered content before restoring it because names and original directory relationships may be lost.

Retry after this result only when the evidence shows that an external condition can change. When it is caused by malformed input, revoked authority, unsupported state, hardware damage, or an offline maintenance requirement, an unchanged retry adds noise and can overwrite the earliest useful diagnostics.

Common misinterpretation

The limit concerns generated recovery names, not ordinary free disk space. Deleting unrelated files may not create usable names in the recovery directory.

Guidance for developers

Keep it in its Win32/LRESULT domain in structured telemetry. When converting it to an HRESULT, exception, RPC response, or JSON field, retain the source domain and numeric value alongside the human-readable text. Do not branch on the localized message string for it.

A it test should construct the specific state, assert the exact result, and verify that partial resources are released. The recovery test for it should prove that the operation is either deferred until a measurable state change or fails without an uncontrolled retry loop.

References


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