Note
For optimal reliability and performance, use file system minifilter drivers with Filter Manager support instead of legacy file system filter drivers. To port your legacy driver to a minifilter driver, see Guidelines for Porting Legacy Filter Drivers.
If a completion routine doesn't signal an event, it must check the Irp‑>PendingReturned flag. If this flag is set, the completion routine must mark the IRP pending by calling IoMarkIrpPending.