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
找不到匹配的实例。 这是一个警告代码。

注解

如果实例的高度低于附加到同一卷的所有其他实例的海拔高度,则表示该实例位于微筛选器驱动程序实例堆栈的 底部 。 术语“海拔高度”是指实例在卷的微筛选器驱动程序实例堆栈中占据的位置。 高度越高,实例离堆栈中基本文件系统的距离就越远。 在给定卷的给定高度上只能附加一个实例。

海拔由 海拔字符串指定,该字符串是计数的 Unicode 字符串,由 0 到 9 之间的一个或多个十进制数字组成,可以包含单个小数点。 例如,“100.123456”和“03333”是有效的海拔字符串。

字符串“03333”表示高于“100.123456”的海拔高度。 (前导零和尾随零将被忽略。) 换句话说,高度为“03333”的实例比高度为“100.123456”的实例离基本文件系统更远。 但是,仅当两个实例都附加到同一卷时,此比较才有意义。

FltGetBottomInstance 添加对 *Instance 中返回的不透明实例指针的断开引用。 当不再需要此指针时,调用方必须通过调用 FltObjectDereference 释放它。 因此,每次成功调用 FltGetBottomInstance 都必须通过后续调用 FltObjectDereference 进行匹配。

要求

要求
目标平台 通用
标头 fltkernel.h (包括 Fltkernel.h)
Library FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

另请参阅

FltAttachVolume

FltAttachVolumeAtAltitude

FltCompareInstanceAltitudes

FltGetLowerInstance

FltGetTopInstance

FltGetUpperInstance

FltObjectDereference