Функция FltReleaseContext (fltkernel.h)
FltReleaseContext уменьшает количество ссылок в контексте.
Синтаксис
VOID FLTAPI FltReleaseContext(
[in] PFLT_CONTEXT Context
);
Параметры
[in] Context
Указатель на контекст. Должен быть допустимым указателем на объект контекста для тома, экземпляра, потока или дескриптора потока. Этот параметр является обязательным и не может иметь значение NULL.
Возвращаемое значение
None
Remarks
Дополнительные сведения о контекстах см. в разделе О контекстах минифильтра.
Драйвер минифильтра вызывает FltReleaseContext , чтобы освободить контекст. FltReleaseContext уменьшает количество ссылок в заданном контексте. Когда число ссылок достигает нуля, контекст немедленно освобождается, если вызывающий объект выполняется в IRQL <= APC_LEVEL. Если вызывающий объект выполняется на DISPATCH_LEVEL IRQL, то для освобождения контекста планируется рабочий элемент.
Примечание
После возврата FltReleaseContext вызывающий объект не должен использовать контекст, так как контекст, возможно, уже освобожден.
Каждый успешный вызов FltAllocateContext, FltGetXxxContext или FltReferenceContext в конечном итоге должен соответствовать вызову FltReleaseContext.
Обратите внимание, что указатель OldContext , возвращаемый FltSetXxxContext , и параметр Context , используемый для вызова FltDeleteContext , также должны быть освобождены путем вызова FltReleaseContext , если они больше не нужны.
Чтобы выделить новый контекст, вызовите FltAllocateContext.
Чтобы увеличить количество ссылок в контексте, вызовите FltReferenceContext.
Дополнительные сведения о подсчете ссылок на контексты см. в разделе Ссылки на контексты.
Вызывающие функции FltReleaseContext должны выполняться в IRQL <= DISPATCH_LEVEL, если контекст был выделен из невыгребованного пула. Если контекст был выделен из страничного пула, вызывающие средства должны выполняться в irQL <= APC_LEVEL.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Верхняя часть | fltkernel.h (включая Fltkernel.h) |
Библиотека | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | См. раздел "Примечания". |