PFLT_COMPLETED_ASYNC_IO_CALLBACK function pointer
A minifilter driver that initiates an asynchronous I/O operation can specify a routine of type PFLT_COMPLETED_ASYNC_IO_CALLBACK routine to be called when the operation is completed.
typedef VOID ( *PFLT_COMPLETED_ASYNC_IO_CALLBACK)( _In_ PFLT_CALLBACK_DATA CallbackData, _In_ PFLT_CONTEXT Context );
- CallbackData [in]
Pointer to the callback data structure for the I/O operation.
- Context [in]
When a minifilter driver calls FltPerformAsynchronousIo, FltReadFile or FltWriteFile to initiate an asynchronous I/O operation, the minifilter driver can optionally specify a callback routine to be called when the I/O operation is completed. This is done by specifying a routine of type PFLT_COMPLETED_ASYNC_IO_CALLBACK for the CallbackRoutine parameter.
When the I/O operation is completed, this callback routine is called in an arbitrary thread context, at IRQL <= DISPATCH_LEVEL.
Because the PFLT_COMPLETED_ASYNC_IO_CALLBACK routine can be called at IRQL DISPATCH_LEVEL, it is subject to the following constraints:
It cannot safely call any kernel-mode routines that require a lower IRQL.
Any data structures used in this routine must be allocated from nonpaged pool.
It cannot be made pageable.
It cannot acquire resources, mutexes, or fast mutexes. However, it can acquire spin locks.
|See Remarks section.|
Build date: 1/29/2014