What does Windows error code 1391 (ERROR_NO_INHERITANCE) mean?

 
Previous Next
ERROR_LM_CROSS_ENCRYPTION_REQUIRED ERROR_FILE_CORRUPT

ERROR_NO_INHERITANCE

The caller requested inheritance processing, but the ACL has no inheritable components

ACE inheritance depends on inheritance flags and the type of child being created. An ACL can be perfectly valid yet contain only explicit ACEs or ACEs whose container/object inheritance flags do not apply to the requested child. ERROR_NO_INHERITANCE describes that absence of inheritable material; it is not the malformed-ACL condition reported by ERROR_BAD_INHERITANCE_ACL.

Dump the ACL in canonical diagnostic form and inspect ACE flags such as OBJECT_INHERIT_ACE, CONTAINER_INHERIT_ACE, INHERIT_ONLY_ACE, and NO_PROPAGATE_INHERIT_ACE. Also record whether the child is a container or noncontainer and whether object-specific inheritance information is involved. If the application expects parent permissions to propagate, correct the parent ACE inheritance design. Do not copy the parent ACL byte-for-byte to simulate inheritance, because inherited ACE flags and child-specific transformation have defined semantics.

What to inspect

  • Inspect inheritance flags on every parent ACE.
  • Record whether the child is a container or noncontainer object.
  • Use Windows inheritance APIs instead of copying the parent ACL verbatim.

References


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