fltGetUpperInstance 函数 (fltkernel.h)
FltGetUpperInstance 例程返回下一个较高微筛选器驱动程序实例(如果有)的不透明实例指针,该指针附加到同一卷上的给定微筛选器驱动程序实例上方。
语法
NTSTATUS FLTAPI FltGetUpperInstance(
[in] PFLT_INSTANCE CurrentInstance,
[out] PFLT_INSTANCE *UpperInstance
);
参数
[in] CurrentInstance
请求下一个更高实例的实例的不透明实例指针。
[out] UpperInstance
指向调用方分配的变量的指针,该变量接收下一个更高实例的不透明实例指针。 此参数是必需的,不能为 NULL。
返回值
FltGetUpperInstance 返回STATUS_SUCCESS或相应的 NTSTATUS 值,如下所示:
返回代码 | 说明 |
---|---|
|
找不到更高的实例。 这是一个警告代码。 |
注解
如果一个实例连接到同一卷上的较高高度,则表示另一个实例 高于 另一个实例。 术语“海拔”是指实例 (或应在卷的微筛选器驱动程序实例堆栈中占据) 的位置。 高度越高,实例离堆栈中基本文件系统的距离就越远。 在给定卷的给定高度上只能附加一个实例。
海拔由 海拔字符串指定,该字符串是计数的 Unicode 字符串,由 0 到 9 范围内的一个或多个十进制数字组成,可以包含单个小数点。 例如,“100.123456”和“03333”是有效的海拔字符串。
字符串“03333”表示高于“100.123456”的海拔高度。 (前导零和尾随零将被忽略。) 换句话说,高度为“03333”的实例比高度为“100.123456”的实例离基本文件系统更远。 但是,仅当两个实例都附加到同一卷时,此比较才有意义。
FltGetUpperInstance 添加对 UpperInstance 参数中返回的不透明实例指针的断开引用。 当不再需要此指针时,调用方必须通过调用 FltObjectDereference 释放它。 因此,每次成功调用 FltGetUpperInstance 都必须通过后续调用 FltObjectDereference 进行匹配。
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
标头 | fltkernel.h (包括 Fltkernel.h) |
Library | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |