PFLT_CONTEXT_FREE_CALLBACK callback function (fltkernel.h)

A minifilter can register a routine of type PFLT_CONTEXT_FREE_CALLBACK as the minifilter driver's ContextFreeCallback routine.

Syntax

PFLT_CONTEXT_FREE_CALLBACK PfltContextFreeCallback;

void PfltContextFreeCallback(
  [in] PVOID Pool,
  [in] FLT_CONTEXT_TYPE ContextType
)
{...}

Parameters

[in] Pool

A pointer to the context to be freed.

[in] ContextType

The type of context. This parameter is required and must be one of the following values:

FLT_FILE_CONTEXT (starting with Windows Vista)

FLT_INSTANCE_CONTEXT

FLT_STREAM_CONTEXT

FLT_STREAMHANDLE_CONTEXT

FLT_SECTION_CONTEXT (starting with Windows 8)

FLT_TRANSACTION_CONTEXT (starting with Windows Vista)

FLT_VOLUME_CONTEXT

Return value

None

Remarks

For the rare cases that a minifilter driver must free its own contexts manually, the minifilter driver can specify a routine of type PFLT_CONTEXT_FREE_CALLBACK as the minifilter driver's ContextFreeCallback routine for each context type that it registers when it calls FltRegisterFilter from its DriverEntry routine. To specify this routine, the minifilter driver stores a pointer to the routine in the ContextFreeCallback member of the FLT_CONTEXT_REGISTRATION structure for the context type.

For more information about context registration, see the reference entry for FLT_CONTEXT_REGISTRATION.

Requirements

Requirement Value
Target Platform Desktop
Header fltkernel.h (include Fltkernel.h)
IRQL <=APC_LEVEL

See also

FLT_CONTEXT_REGISTRATION

FLT_REGISTRATION

FltRegisterFilter

PFLT_CONTEXT_ALLOCATE_CALLBACK

PFLT_CONTEXT_CLEANUP_CALLBACK