Функция 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 | См. раздел "Примечания". |