Bewerken

Delen via


FltReleaseContextsEx function (fltkernel.h)

FltReleaseContextsEx releases each context in a given FLT_RELATED_CONTEXTS_EX structure.

Syntax

VOID FLTAPI FltReleaseContextsEx(
  [in] SIZE_T                   ContextsSize,
  [in] PFLT_RELATED_CONTEXTS_EX Contexts
);

Parameters

[in] ContextsSize

The size, in bytes, of the FLT_RELATED_CONTEXTS_EX structure pointed to by Contexts. Set to sizeof(FLT_RELATED_CONTEXTS_EX).

[in] Contexts

Pointer to the FLT_RELATED_CONTEXTS_EX structure.

Return value

None

Remarks

For more information about contexts, see About minifilter contexts.

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

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

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

Callers of FltReleaseContextsEx 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
Minimum supported client Available starting with Windows 8.
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_EX

FltAllocateContext

FltGetContextsEx

FltReleaseContext