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

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

См. также

FltAllocateContext

FltDeleteContext

FltGetContexts

FltGetContextsEx

FltGetFileContext

FltGetInstanceContext

FltGetSectionContext

FltGetStreamContext

FltGetStreamHandleContext

FltGetTransactionContext

FltGetVolumeContext

FltReferenceContext

FltReleaseContexts

FltSetFileContext

FltSetInstanceContext

FltSetStreamContext

FltSetStreamHandleContext

FltSetTransactionContext

FltSetVolumeContext