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)
Library 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