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