| Previous | Next |
| WER_S_REPORT_UPLOADED_CAB | WCM_S_INTERNALERROR |
ERROR_FLT_IO_COMPLETE
The I/O already has a final result
ERROR_FLT_IO_COMPLETE is the Win32 mapping of STATUS_FLT_IO_COMPLETE. It can be returned by FltPerformAsynchronousIo or related Filter Manager paths when a minifilter instance below the initiator completes the operation in its pre-operation callback. The request therefore did not continue to the file system, but it was not merely cancelled or left pending.
The result should be interpreted together with CallbackData->IoStatus. That structure contains the final status and information value chosen by the completing filter. Reissuing the operation blindly can repeat a deliberate policy decision, and treating this status as ordinary success can discard the actual failure stored in the callback data.
What the initiating filter should preserve
- Inspect the final
IoStatus.StatusandIoStatus.Informationrather than replacing them with the wrapper status. - Keep the completion callback safe even when the operation finishes synchronously before
FltPerformAsynchronousIoreturns. - Distinguish a lower filter completing the request from the file system completing it normally.
- Avoid an automatic retry unless the lower filter’s policy or the request parameters have changed.
References
- Microsoft: FltPerformAsynchronousIo return semantics
- Microsoft: completing I/O in a pre-operation callback
- Microsoft Open Specifications: STATUS_FLT_IO_COMPLETE
Looking for a different code? Search another status or error code.