Функция FltReleaseContexts (fltkernel.h)

FltReleaseContexts освобождает каждый контекст в заданной FLT_RELATED_CONTEXTS структуре.

Синтаксис

VOID FLTAPI FltReleaseContexts(
  [in] PFLT_RELATED_CONTEXTS Contexts
);

Параметры

[in] Contexts

Указатель на структуру FLT_RELATED_CONTEXTS .

Возвращаемое значение

None

Remarks

Дополнительные сведения о контекстах см. в разделе О контекстах минифильтра.

FltReleaseContexts уменьшает количество ссылок во всех контекстах в структуре FLT_RELATED_CONTEXTS и присваивает всем членам структуры значение NULL_CONTEXT.

Чтобы получить структуру FLT_RELATED_CONTEXTS для заданного драйвера минифильтра для заданного запроса ввода-вывода, вызовите FltGetContexts.

Дополнительные сведения о подсчете ссылок на контексты см. в разделе Ссылки на контексты.

Вызывающие компоненты FltReleaseContexts должны выполняться в IRQL <= DISPATCH_LEVEL, если все контексты были выделены из непагированного пула. Если из выстраивного пула были выделены какие-либо контексты, вызывающие компоненты должны выполняться в IRQL <= APC_LEVEL.

Когда количество ссылок каждого контекста достигает нуля, контекст немедленно освобождается, если вызывающий объект выполняется в IRQL <= APC_LEVEL. Если вызывающий объект выполняется на DISPATCH_LEVEL IRQL, то для освобождения контекста планируется рабочий элемент.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть fltkernel.h (включая Fltkernel.h)
Библиотека FltMgr.lib
DLL Fltmgr.sys
IRQL См. раздел "Примечания".

См. также раздел

FLT_CONTEXT_REGISTRATION

FLT_RELATED_CONTEXTS

FltAllocateContext

FltGetContexts

FltReleaseContext

FltReleaseContextsEx