FltQueryVolumeInformationFile 函数 (fltkernel.h)

FltQueryVolumeInformationFile 检索给定文件、目录、存储设备或卷的卷信息。

语法

NTSTATUS FLTAPI FltQueryVolumeInformationFile(
  [in]            PFLT_INSTANCE        Instance,
  [in]            PFILE_OBJECT         FileObject,
  [out]           PVOID                FsInformation,
  [in]            ULONG                Length,
  [in]            FS_INFORMATION_CLASS FsInformationClass,
  [out, optional] PULONG               LengthReturned
);

参数

[in] Instance

调用方不透明实例指针。 此参数是必需的,不能 NULL

[in] FileObject

打开的文件、目录、存储设备或卷的文件对象指针。 此参数是必需的,不能 NULL

[out] FsInformation

指向接收有关文件的调用方分配的缓冲区的指针。 FsInformationClass 参数指定信息的类型。 此参数是必需的,不能 NULL

[in] Length

FsInformation 缓冲区的大小(以字节为单位)。

[in] FsInformationClass

要返回的卷信息的类型。 以下项之一:

价值 意义
FileFsAttributeInformation
返回一个 FILE_FS_ATTRIBUTE_INFORMATION 结构,该结构包含有关负责卷的文件系统的属性信息。
FileFsControlInformation
返回一个 FILE_FS_CONTROL_INFORMATION 结构,该结构包含有关卷的文件系统控制信息。
FileFsDeviceInformation
返回一个 FILE_FS_DEVICE_INFORMATION 结构,该结构包含卷的设备信息。
FileFsDriverPathInformation
返回一个 FILE_FS_DRIVER_PATH_INFORMATION 结构,该结构包含有关指定驱动程序是否位于卷的 I/O 路径中的信息。 调用方必须先将驱动程序的名称存储在 FILE_FS_DRIVER_PATH_INFORMATION 结构中,然后才能调用 FltQueryVolumeInformationFile
FileFsFullSizeInformation
返回一个 FILE_FS_FULL_SIZE_INFORMATION 结构,其中包含有关卷上可用空间总量的信息。
FileFsObjectIdInformation
返回一个 FILE_FS_OBJECTID_INFORMATION 结构,该结构包含卷的特定于文件系统的对象 ID 信息。 请注意,这与作系统分配的基于 GUID 的唯一卷名称不同。
FileFsSizeInformation
返回一个 FILE_FS_SIZE_INFORMATION 结构,该结构包含有关与调用线程关联的用户可用的卷空间量的信息。
FileFsVolumeInformation
返回一个 FILE_FS_VOLUME_INFORMATION,其中包含有关卷的信息,例如卷标签、序列号和创建时间。
FileFsSectorSizeInformation
返回一个 FILE_FS_SECTOR_SIZE_INFORMATION 结构,其中包含有关卷的物理扇区大小和逻辑扇区大小的信息。

[out, optional] LengthReturned

指向调用方分配的变量的指针,该变量接收 FsInformation 缓冲区中返回的信息的大小(以字节为单位)。 此参数是可选的,可以 NULL

返回值

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

返回代码 描述
STATUS_VOLUME_DISMOUNTED
当前未装载卷。 这是一个错误代码。

言论

FltQueryVolumeInformationFile 检索给定文件、目录、存储设备或卷的卷信息。

如果 FileObject 表示直接打开的设备,则只能将 fileFsDeviceInformation 指定为 FsInformationClass的值。

FltQueryVolumeInformationFile 在特定文件系统不支持的 FILE_FS_XXX_INFORMATION 结构的任何成员中返回零。

要求

要求 价值
目标平台 普遍
标头 fltkernel.h (包括 Fltkernel.h)
FltMgr.lib
DLL Fltmgr.sys
IRQL PASSIVE_LEVEL

另请参阅

FILE_FS_ATTRIBUTE_INFORMATION

FILE_FS_CONTROL_INFORMATION

FILE_FS_DEVICE_INFORMATION

FILE_FS_DRIVER_PATH_INFORMATION

FILE_FS_FULL_SIZE_INFORMATION

FILE_FS_OBJECTID_INFORMATION

FILE_FS_SECTOR_SIZE_INFORMATION

FILE_FS_SIZE_INFORMATION

FILE_FS_VOLUME_INFORMATION

FltSetInformationFile