FltReuseCallbackData
TOC
Collapse the table of content
Expand the table of content

FltReuseCallbackData routine

The FltReuseCallbackData routine reinitializes a callback data structure so that it can be reused.

Syntax


VOID FltReuseCallbackData(
  _Inout_ PFLT_CALLBACK_DATA CallbackData
);

Parameters

CallbackData [in, out]

Pointer to the callback data (FLT_CALLBACK_DATA) structure to be reused. This structure must have been allocated by a previous call to FltAllocateCallbackData. This parameter is required and cannot be NULL.

Return value

None

Remarks

FltReuseCallbackData reinitializes a callback data (FLT_CALLBACK_DATA) structure so that it can be used in a new I/O operation. FltReuseCallbackData does not change the TargetInstance field or the TargetFileObject field of the callback data structure's I/O parameter block.

The FltReuseCallbackData routine frees any MDL chain associated with the supplied CallbackData object. A pointer to an MDL chain associated with a FLT_CALLBACK_DATA object will be invalid after a call to FltReuseCallbackData for that object.

Using FltReuseCallbackData to reuse a callback data structure is faster than freeing the structure and allocating a new one.

A minifilter driver should use FltReuseCallbackData only on a callback data structure that the minifilter driver previously allocated with FltAllocateCallbackData and used in a call to FltPerformSynchronousIo or FltPerformAsynchronousIo.

If the callback data structure was used for asynchronous I/O, the minifilter driver should not call FltReuseCallbackData until the CallbackRoutine specified in the call to FltPerformAsynchronousIo is called.

In particular, a minifilter driver should not use this routine for any callback data structures not allocated by the minifilter driver itself.

Requirements

Target platform

Universal

Header

Fltkernel.h (include Fltkernel.h)

Library

FltMgr.lib

DLL

Fltmgr.sys

IRQL

<= APC_LEVEL

See also

FLT_CALLBACK_DATA
FltAllocateCallbackData
FltFreeCallbackData
FltPerformAsynchronousIo
FltPerformSynchronousIo
FltReissueSynchronousIo

 

 

Send comments about this topic to Microsoft

Show:
© 2016 Microsoft