What does NTSTATUS 0xC0000034 (STATUS_OBJECT_NAME_NOT_FOUND) mean?

 
Previous Next
STATUS_OBJECT_NAME_INVALID STATUS_OBJECT_NAME_COLLISION

STATUS_OBJECT_NAME_NOT_FOUND

STATUS_OBJECT_NAME_NOT_FOUND means that Windows resolved the containing path or object namespace far enough to look for the final named object, but that final object was not present. The status is used outside ordinary file paths as well: native APIs can return it while opening named kernel objects, registry keys, devices, or remote file-system objects.

Name not found versus path not found

The important distinction is the location of the failure. STATUS_OBJECT_NAME_NOT_FOUND points to the final name. STATUS_OBJECT_PATH_NOT_FOUND means that an earlier path component could not be resolved. For a file path, this often distinguishes “the file is absent” from “one of its parent directories, a share component, or a namespace prefix is absent.”

Diagnostic value

  • Log the fully resolved path or native object name after variable expansion and normalization.
  • For relative native names, log the root handle or root directory used to resolve the name.
  • Check the requested creation disposition: an open-only request should fail if the object is absent, while a create-or-open request may be appropriate for the workflow.
  • On a network path, confirm that the server exposes the expected object and supports the requested object type or stream.

Do not automatically translate this status into a permissions problem. Access checks and namespace lookup are separate decisions, and the corrective action depends on which one failed.

See MRxCreate, NtCreateFile, and the NTSTATUS reference.


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