What does HRESULT 0x801F0004 (ERROR_FLT_DISALLOW_FAST_IO) mean?

 
Previous Next
ERROR_FLT_INVALID_ASYNCHRONOUS_REQUEST ERROR_FLT_INVALID_NAME_REQUEST

ERROR_FLT_DISALLOW_FAST_IO

This status is a path-conversion signal, not a normal failure

ERROR_FLT_DISALLOW_FAST_IO maps the internal status that Filter Manager uses after a minifilter returns FLT_PREOP_DISALLOW_FASTIO. The fast-I/O attempt stops, and the I/O manager can reissue an equivalent operation through the IRP path, where the filter receives normal IRP-based callback data and can perform processing unavailable on the fast path.

A minifilter must not place this NTSTATUS directly in IoStatus.Status. It returns the callback status only when FLT_IS_FASTIO_OPERATION is true. The current filter’s post-operation callback is not invoked for the rejected fast-I/O attempt, so per-operation allocations must follow the documented callback-status lifetime rather than waiting for a completion that will not arrive.

Correct diagnostic interpretation

  • Check whether the original callback data was marked as fast I/O.
  • Expect a second IRP-based request instead of reporting the internal status directly to an application.
  • Do not return FLT_PREOP_DISALLOW_FASTIO for mount, dismount, or shutdown operations.
  • Compare traces by file object and operation type so the fast-path attempt is not mistaken for duplicate application I/O.

References


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