| 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_FASTIOfor 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
- Microsoft: disallowing a fast-I/O operation
- Microsoft: FLT_PREOP_DISALLOW_FASTIO behavior
- Microsoft Open Specifications: STATUS_FLT_DISALLOW_FAST_IO
Looking for a different code? Search another status or error code.
