| Previous | Next |
| ERROR_FLT_FILTER_NOT_READY | ERROR_FLT_INTERNAL_ERROR |
ERROR_FLT_POST_OPERATION_CLEANUP
The filter is draining while an operation remains in flight
ERROR_FLT_POST_OPERATION_CLEANUP identifies teardown processing for an operation whose normal lower-stack completion has not reached the filter before its instance is being removed. Filter Manager calls the post-operation path so the minifilter can dispose of the operation-specific completion context that it created earlier.
This is not an opportunity to perform normal result inspection or to pend the callback again. Draining callbacks are marked with FLTFL_POST_OPERATION_DRAINING; APIs such as FltDoCompletionProcessingWhenSafe are prohibited in that state. The primary obligation is deterministic cleanup of references, buffers, locks, and any private state tied to the abandoned callback path.
Teardown requirements
- Test the draining flag before executing normal post-operation logic.
- Release the completion context exactly once even if lower-layer completion later follows a different path.
- Avoid touching instance-owned services that may already be shutting down.
- Do not change the underlying operation result merely because the minifilter instance is being detached.
References
- Microsoft: draining post-operation callbacks
- Microsoft: unsafe APIs during post-operation draining
- Microsoft Open Specifications: STATUS_FLT_POST_OPERATION_CLEANUP
Looking for a different code? Search another status or error code.