Функция FltGetBottomInstance (fltkernel.h)
FltGetBottomInstance возвращает указатель непрозрачного экземпляра для экземпляра драйвера минифильтра, если он имеется, присоединенного в нижней части стека экземпляров для заданного тома.
Синтаксис
NTSTATUS FLTAPI FltGetBottomInstance(
[in] PFLT_VOLUME Volume,
[out] PFLT_INSTANCE *Instance
);
Параметры
[in] Volume
Непрозрачный указатель на том.
[out] Instance
Указатель на переменную, выделенную вызывающим объектом, которая получает указатель непрозрачного экземпляра для нижнего экземпляра для этого тома. Этот параметр является обязательным и не может иметь значение NULL.
Возвращаемое значение
FltGetBottomInstance возвращает STATUS_SUCCESS или соответствующее значение NTSTATUS, например следующее:
Код возврата | Описание |
---|---|
|
Соответствующий экземпляр не найден. Это код предупреждения. |
Комментарии
Считается, что экземпляр находится в нижней части стека экземпляров драйвера минифильтра, если его высота ниже, чем у всех остальных экземпляров, подключенных к тому же тому. Термин "высота" относится к позиции, занимаемой экземпляром в стеке экземпляров драйвера минифильтра для тома. Чем выше высота, тем дальше экземпляр находится от базовой файловой системы в стеке. На заданной высоте на заданном томе может быть присоединен только один экземпляр.
Высота задается строкой высоты, которая представляет собой подсчитываемую строку Юникода, состоящую из одной или нескольких десятичных цифр от 0 до 9, и может содержать одну десятичную запятую. Например, "100,123456" и "03333" являются допустимыми строками высоты.
Строка "03333" представляет высоту выше, чем "100,123456". (Нули в начале и в начале игнорируются.) Иными словами, экземпляр с высотой 03333 находится дальше от базовой файловой системы, чем экземпляр с высотой 100,123456. Однако это сравнение имеет смысл только в том случае, если оба экземпляра подключены к одному тому.
FltGetBottomInstance добавляет ссылку на непрозрачный указатель экземпляра, возвращаемый в *Экземпляр. Если этот указатель больше не нужен, вызывающий объект должен освободить его, вызвав FltObjectDereference. Таким образом, каждый успешный вызов FltGetBottomInstance должен соответствовать последующему вызову FltObjectDereference.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Верхняя часть | fltkernel.h (включая Fltkernel.h) |
Библиотека | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |