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

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

Синтаксис

NTSTATUS FLTAPI FltGetLowerInstance(
  [in]  PFLT_INSTANCE CurrentInstance,
  [out] PFLT_INSTANCE *LowerInstance
);

Параметры

[in] CurrentInstance

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

[out] LowerInstance

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

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

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

Код возврата Описание
STATUS_NO_MORE_ENTRIES
Более низкий экземпляр драйвера минифильтра не найден. Это код предупреждения.

Комментарии

Один экземпляр, как говорят, находится ниже другого, если он прикреплен на меньшей высоте на той же громкости. Термин "высота" относится к положению, которое экземпляр занимает (или должен занимать) в стеке экземпляров драйвера минифильтра для тома. Чем выше высота, тем дальше экземпляр находится от базовой файловой системы в стеке. На заданной высоте на заданном томе можно подключить только один экземпляр.

Высота задается строкой высоты, которая является подсчитываемой строкой Юникода, состоящей из одной или нескольких десятичных цифр от 0 до 9, и может содержать одну десятичную запятую. Например, "100,123456" и "03333" являются допустимыми строками высоты.

Строка "03333" представляет более высокую высоту, чем "100,123456". (Начальные и конечные нули игнорируются.) Другими словами, экземпляр с высотой 03333 находится дальше от базовой файловой системы, чем экземпляр с высотой 100,123456. Однако это сравнение имеет смысл только в том случае, если оба экземпляра подключены к одному тому.

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

Требования

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

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

FltAttachVolume

FltAttachVolumeAtAltitude

FltCompareInstanceAltitudes

FltGetBottomInstance

FltGetTopInstance

FltGetUpperInstance

FltObjectDereference