What does HRESULT 0x801F0005 (ERROR_FLT_INVALID_NAME_REQUEST) mean?

 
Previous Next
ERROR_FLT_DISALLOW_FAST_IO ERROR_FLT_NOT_SAFE_TO_POST_OPERATION

ERROR_FLT_INVALID_NAME_REQUEST

Filter Manager rejected an unsafe name query

ERROR_FLT_INVALID_NAME_REQUEST is not a generic malformed-path error. It usually means a minifilter requested file name information at a point where Filter Manager cannot safely query the filesystem and no cached answer can satisfy the request. The restriction prevents recursive I/O, deadlocks, and stack growth in sensitive callback paths.

FltGetFileNameInformation documents several such contexts: paging I/O, a non-null top-level IRP, post-cleanup or close processing, particular cache-manager and section-synchronization callbacks, and execution with all APCs disabled. A short-name request in pre-create is also unsupported. The unsafe variant of the API adds its own requirement that the file object is still open.

What to check

  • Record the IRP major operation, pre or post callback stage, name format, query method, and whether the request is paging I/O before changing the code.
  • Use a cache-only query when the current path cannot safely touch the filesystem. If no cached name exists, defer name-dependent work to a safe phase or capture the information earlier.
  • Do not bypass this status with a raw filesystem name query from the restricted callback. Filter Manager is rejecting the request precisely to avoid unsafe reentrancy.
  • For create, hard-link, and rename paths, account for name tunneling and use the documented post-operation mechanism when a normalized name can change.

References


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