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


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

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

Синтаксис

NTSTATUS FLTAPI FltGetBottomInstance(
  [in]  PFLT_VOLUME   Volume,
  [out] PFLT_INSTANCE *Instance
);

Параметры

[in] Volume

Непрозрачный указатель на том.

[out] Instance

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

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

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

Возвращаемый код Описание
STATUS_NO_MORE_ENTRIES
Не найден соответствующий экземпляр. Это код предупреждения.

Замечания

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

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

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

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

Требования

Требование Ценность
целевая платформа Всеобщий
заголовка fltkernel.h (include Fltkernel.h)
библиотеки FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

См. также

FltAttachVolume

FltAttachVolumeAtAltitude

FltCompareInstanceAltitudes

FltGetLowerInstance

FltGetTopInstance

FltGetUpperInstance

FltObjectDereference