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)
FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

另请参阅

FltGetDeviceObject

FltGetDiskDeviceObject

FltGetVolumeFromDeviceObject

FltObjectDereference