fltGetTopInstance 函数 (fltkernel.h)

FltGetTopInstance 例程返回在给定卷实例堆栈顶部附加的微筛选器驱动程序实例的不透明实例指针。

语法

NTSTATUS FLTAPI FltGetTopInstance(
  [in]  PFLT_VOLUME   Volume,
  [out] PFLT_INSTANCE *Instance
);

参数

[in] Volume

卷的不透明指针。

[out] Instance

指向调用方分配的变量的指针,该变量接收此卷底部实例的不透明实例指针。 此参数是必需的,不能为 NULL

返回值

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

返回代码 说明
STATUS_NO_MORE_ENTRIES
找不到匹配的实例。 这是一个警告代码。

注解

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

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

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

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

要求

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

另请参阅

FltAttachVolume

FltAttachVolumeAtAltitude

FltCompareInstanceAltitudes

FltGetBottomInstance

FltGetLowerInstance

FltGetUpperInstance

FltObjectDereference