Функция FltGetLowerInstance (fltkernel.h)
Подпрограмма FltGetLowerInstance возвращает непрозрачный указатель экземпляра для следующего экземпляра драйвера минифильтра с более низким уровнем, если он имеется, который присоединен под заданным экземпляром драйвера минифильтра на том же томе.
Синтаксис
NTSTATUS FLTAPI FltGetLowerInstance(
[in] PFLT_INSTANCE CurrentInstance,
[out] PFLT_INSTANCE *LowerInstance
);
Параметры
[in] CurrentInstance
Указатель непрозрачного экземпляра для экземпляра драйвера минифильтра, для которого запрашивается более низкий экземпляр драйвера минифильтра.
[out] LowerInstance
Указатель на переменную, выделенную вызывающим объектом, которая получает непрозрачный указатель на экземпляр драйвера минифильтра для следующего экземпляра драйвера минифильтра ниже. Этот параметр является обязательным и не может иметь значение NULL.
Возвращаемое значение
FltGetLowerInstance возвращает STATUS_SUCCESS или соответствующее значение NTSTATUS, например следующее:
Код возврата | Описание |
---|---|
|
Более низкий экземпляр драйвера минифильтра не найден. Это код предупреждения. |
Комментарии
Один экземпляр, как говорят, находится ниже другого, если он прикреплен на меньшей высоте на той же громкости. Термин "высота" относится к положению, которое экземпляр занимает (или должен занимать) в стеке экземпляров драйвера минифильтра для тома. Чем выше высота, тем дальше экземпляр находится от базовой файловой системы в стеке. На заданной высоте на заданном томе можно подключить только один экземпляр.
Высота задается строкой высоты, которая является подсчитываемой строкой Юникода, состоящей из одной или нескольких десятичных цифр от 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 |