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


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

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

Синтаксис

NTSTATUS FLTAPI FltGetFilterFromInstance(
  [in]  PFLT_INSTANCE Instance,
  [out] PFLT_FILTER   *RetFilter
);

Параметры

[in] Instance

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

[out] RetFilter

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

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

FltGetFilterFromInstance возвращает STATUS_SUCCESS или соответствующее значение NTSTATUS, например следующее:

Код возврата Описание
STATUS_FLT_DELETING_OBJECT
Драйвер минифильтра сносится. Это код ошибки.

Комментарии

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

Чтобы получить непрозрачный указатель тома для тома, к которому присоединен данный экземпляр драйвера минифильтра, вызовите FltGetVolumeFromInstance.

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

Чтобы перечислить экземпляры всех драйверов минифильтра на всех томах, вызовите FltEnumerateInstances.

Требования

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

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

FltEnumerateInstanceInformationByFilter

FltEnumerateInstances

FltGetVolumeFromInstance

FltObjectDereference