Функция FltGetLowerInstance (fltkernel.h)
Программа FltGetLowerInstance возвращает указатель непрозрачного экземпляра для следующего экземпляра драйвера minifilter ниже, если есть один, который подключен ниже заданного экземпляра драйвера минифильтра на томе.
Синтаксис
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 добавляет ссылку rundown на указатель непрозрачного экземпляра, возвращаемый в параметре LowerInstance. Если этот указатель больше не нужен, вызывающий объект должен освободить его, вызвав FltObjectDereference. Таким образом, каждый успешный вызов FltGetLowerInstance должен соответствовать последующему вызову FltObjectDereference.
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
заголовка | fltkernel.h (include Fltkernel.h) |
библиотеки | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |