Поделиться через


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

Подпрограмма FltGetInstanceContext извлекает контекст, заданный для экземпляра заданным драйвером минифильтра.

Синтаксис

NTSTATUS FLTAPI FltGetInstanceContext(
  [in]  PFLT_INSTANCE Instance,
  [out] PFLT_CONTEXT  *Context
);

Параметры

[in] Instance

Указатель непрозрачного экземпляра для экземпляра.

[out] Context

Указатель на переменную, выделенную вызывающим объектом, которая получает адрес контекста экземпляра. Этот параметр является обязательным и не может иметь значение NULL.

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

FltGetInstanceContext возвращает STATUS_SUCCESS при успешном возврате контекста запрошенного экземпляра. В противном случае возвращается соответствующее значение NTSTATUS, например следующее:

Код возврата Описание
STATUS_NOT_FOUND В данный момент соответствующий контекст для этого экземпляра не найден. FltMgr задает для контекста значение NULL_CONTEXT. Это код ошибки.

Комментарии

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

FltGetInstanceContext извлекает контекст, заданный для экземпляра заданным драйвером мини-фильтра.

FltGetInstanceContext увеличивает количество ссылок в контексте, на который указывает параметр Context . Если этот указатель контекста больше не нужен, вызывающий объект должен уменьшать количество ссылок, вызывая FltReleaseContext. Таким образом, каждый успешный вызов FltGetInstanceContext должен сопоставляться последующим вызовом FltReleaseContext.

Чтобы задать контекст для экземпляра, вызовите FltSetInstanceContext.

Чтобы выделить новый контекст, вызовите FltAllocateContext.

Чтобы удалить контекст файла, вызовите Метод FltDeleteInstanceContext или FltDeleteContext.

Требования

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

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

FltAllocateContext

FltDeleteContext

FltDeleteInstanceContext

FltReleaseContext

FltSetInstanceContext