FltGetLowerInstance 函数 (fltkernel.h)

FltGetLowerInstance 例程返回下一个较低小筛选器驱动程序实例(如果有)的不透明实例指针,该指针附加到同一卷上的给定微筛选器驱动程序实例下方。

语法

NTSTATUS FLTAPI FltGetLowerInstance(
  [in]  PFLT_INSTANCE CurrentInstance,
  [out] PFLT_INSTANCE *LowerInstance
);

参数

[in] CurrentInstance

请求下级微筛选器驱动程序实例的微筛选器驱动程序实例的不透明实例指针。

[out] LowerInstance

指向调用方分配的变量的指针,该变量接收下一个较低微筛选器驱动程序实例的不透明微筛选器驱动程序实例指针。 此参数是必需的,不能为 NULL

返回值

FltGetLowerInstance 返回STATUS_SUCCESS或相应的 NTSTATUS 值,如下所示:

返回代码 说明
STATUS_NO_MORE_ENTRIES
找不到较低的微筛选器驱动程序实例。 这是一个警告代码。

注解

如果一个实例位于同一体积的较低高度,则称其位于另一个实例的 下方 。 术语“海拔高度”是指实例占据 (或应在卷的微筛选器驱动程序实例堆栈中占据) 的位置。 高度越高,实例离堆栈中基本文件系统越远。 在给定卷的给定高度上只能附加一个实例。

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

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

FltGetLowerInstance 添加对 LowerInstance 参数中返回的不透明实例指针的运行引用。 当不再需要此指针时,调用方必须通过调用 FltObjectDereference 来释放它。 因此,每次成功调用 FltGetLowerInstance 都必须与对 FltObjectDereference 的后续调用相匹配。

要求

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

另请参阅

FltAttachVolume

FltAttachVolumeAtAltitude

FltCompareInstanceAltitudes

FltGetBottomInstance

FltGetTopInstance

FltGetUpperInstance

FltObjectDereference