What does HRESULT 0x801F0018 (ERROR_FLT_NAME_CACHE_MISS) mean?

 
Previous Next
ERROR_FLT_INVALID_CONTEXT_REGISTRATION ERROR_FLT_NO_DEVICE_OBJECT

ERROR_FLT_NAME_CACHE_MISS

A cache result, not proof that the file has no name

ERROR_FLT_NAME_CACHE_MISS is returned by Filter Manager name-query routines when the requested information is not in the name cache and the selected query policy cannot obtain it from the filesystem. The common case is FLT_FILE_NAME_QUERY_CACHE_ONLY. It can also occur with FLT_FILE_NAME_QUERY_ALWAYS_ALLOW_CACHE_LOOKUP when the cache misses and the current I/O context is not safe for a filesystem query.

This differs from ERROR_FLT_INVALID_NAME_REQUEST. A cache miss describes the result of a selected lookup strategy; an invalid request says the requested name cannot be obtained safely at that point. The same file can produce a cache miss now and a successful full query later when the callback context is safe.

What to check

  • Inspect the exact FLT_FILE_NAME_OPTIONS value. Cache-only, default, filesystem-only, and always-allow-cache-lookup have different latency, caching, and safety behavior.
  • For a cache-only miss, decide whether the feature can proceed without a name. Do not silently treat the result as an empty path or as a permanent failure of the open.
  • When the current context is safe, a subsequent filesystem-only query can return the information. When it is unsafe, move the work to a documented safe point instead of forcing a retry.
  • Release any successful FLT_FILE_NAME_INFORMATION result with FltReleaseFileNameInformation; cached data is shared by Filter Manager and must not be modified by the caller.

References


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