FltGetVolumeFromFileObject 函数 (fltkernel.h)

FltGetVolumeFromFileObject 例程返回给定文件流所在的卷的不透明指针。

语法

NTSTATUS FLTAPI FltGetVolumeFromFileObject(
  [in]  PFLT_FILTER  Filter,
  [in]  PFILE_OBJECT FileObject,
  [out] PFLT_VOLUME  *RetVolume
);

参数

[in] Filter

调用方不透明的筛选器指针。 此参数是必需的,不能为 NULL

[in] FileObject

驻留在卷上的文件流的文件对象指针。

[out] RetVolume

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

返回值

FltGetVolumeFromFileObject 返回STATUS_SUCCESS或相应的 NTSTATUS 值,例如以下值之一:

返回代码 说明
STATUS_FLT_DELETING_OBJECT
正在拆除卷。 这是错误代码。
STATUS_INVALID_PARAMETER
找不到匹配的卷。 这是错误代码。

注解

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

若要获取指向给定卷的设备对象的指针,请调用 FltGetDeviceObject

要求

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

另请参阅

FltGetDeviceObject

FltGetDiskDeviceObject

FltGetVolumeFromDeviceObject

FltObjectDereference