FltReleaseContexts function (fltkernel.h)

FltReleaseContexts releases each context in a given FLT_RELATED_CONTEXTS structure.

Syntax

VOID FLTAPI FltReleaseContexts(
  [in] PFLT_RELATED_CONTEXTS Contexts
);

Parameters

[in] Contexts

Pointer to the FLT_RELATED_CONTEXTS structure.

Return value

None

Remarks

For more information about contexts, see About minifilter contexts.

FltReleaseContexts decrements the reference count on all contexts in the FLT_RELATED_CONTEXTS structure and sets all members of the structure to NULL_CONTEXT.

To get the FLT_RELATED_CONTEXTS structure for a given minifilter driver for a given I/O request, call FltGetContexts.

For more information about context reference counting, see Referencing Contexts.

Callers of FltReleaseContexts must be running at IRQL <= DISPATCH_LEVEL if all contexts were allocated from nonpaged pool. If any contexts were allocated from paged pool, callers must be running at IRQL <= APC_LEVEL.

When each context's reference count reaches zero, the context is freed immediately if the caller is running at IRQL <= APC_LEVEL. If the caller is running at IRQL DISPATCH_LEVEL, a work item is scheduled to free the context.

Requirements

Requirement Value
Target Platform Universal
Header fltkernel.h (include Fltkernel.h)
Library FltMgr.lib
DLL Fltmgr.sys
IRQL See Remarks section.

See also

FLT_CONTEXT_REGISTRATION

FLT_RELATED_CONTEXTS

FltAllocateContext

FltGetContexts

FltReleaseContext

FltReleaseContextsEx