FltQueryVolumeInformation 函数 (fltkernel.h)

FltQueryVolumeInformation 例程检索有关给定实例所附加到的卷的信息。

语法

NTSTATUS FLTAPI FltQueryVolumeInformation(
  [in]  PFLT_INSTANCE        Instance,
  [out] PIO_STATUS_BLOCK     Iosb,
  [out] PVOID                FsInformation,
  [in]  ULONG                Length,
  [in]  FS_INFORMATION_CLASS FsInformationClass
);

参数

[in] Instance

附加到卷的微筛选器驱动程序实例的不透明实例指针。

[out] Iosb

指向调用方分配的IO_STATUS_BLOCK结构的指针,该结构接收最终完成状态和有关查询操作的信息。 对于返回数据的成功调用,将在结构的 Information 成员中返回写入 FsInformation 缓冲区的字节数。

[out] FsInformation

指向调用方分配的缓冲区的指针,该缓冲区接收有关卷的所需信息。 缓冲区中返回的信息的结构由 FsInformationClass 参数定义。

[in] Length

FsInformation 指向的缓冲区的大小(以字节为单位)。 调用方应根据给定的 FsInformationClass 设置此参数。 例如,如果 FsInformationClass 的值为 FileFsControlInformation, 则 Length 必须至少 大小 (FILE_FS_CONTROL_INFORMATION) 。

[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 路径中的信息。 调用方必须在调用 FltQueryVolumeInformation 之前将驱动程序的名称存储在 FILE_FS_DRIVER_PATH_INFORMATION 结构中。
FileFsFullSizeInformation
返回一个 FILE_FS_FULL_SIZE_INFORMATION 结构,其中包含有关卷上可用空间总量的信息。
FileFsObjectIdInformation
返回包含卷的文件系统特定对象 ID 信息的 FILE_FS_OBJECTID_INFORMATION 结构。 请注意,这与操作系统分配的基于 (GUID) 唯一卷名称不同。
注意此值对快照卷无效。
 
FileFsSizeInformation
返回一个 FILE_FS_SIZE_INFORMATION 结构,其中包含有关卷上可供与调用线程关联的用户使用的空间量的信息。
FileFsVolumeInformation
返回一个 FILE_FS_VOLUME_INFORMATION, 其中包含卷标签、序列号和创建时间等有关卷的信息。
FileFsSectorSizeInformation
返回 一个FILE_FS_SECTOR_SIZE_INFORMATION 结构,其中包含有关卷的物理扇区大小和逻辑扇区大小的信息。

返回值

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

返回代码 说明
STATUS_INSUFFICIENT_RESOURCES

FltQueryVolumeInformation 遇到池分配失败。 这是错误代码。

STATUS_INVALID_INFO_CLASS
FsInformationClass 指定了无效值。 这是错误代码。
STATUS_INVALID_PARAMETER
实例附加到网络卷。 FltQueryVolumeInformation 不能用于查询网络卷信息。 这是错误代码。

注解

FILE_XXX_INFORMATION 结构中基础文件系统不支持的字段设置为零。

若要更改有关卷的信息,请调用 FltSetVolumeInformation

若要获取给定卷的卷属性信息,请调用 FltGetVolumeProperties

若要获取给定卷的卷名称,请调用 FltGetVolumeName

若要获取给定卷的卷 GUID 名称,请调用 FltGetVolumeGuidName

要求

要求
最低受支持的客户端 适用于 SP4 的 Microsoft Windows 2000 更新汇总 1、具有 Service Pack 2 的 Windows XP (SP2) 、Windows Server 2003 SP1 及更高版本的 Windows 操作系统中可用和支持。 在 Windows 2000 SP4 及更早版本的 Windows 操作系统中不可用或不受支持。
目标平台 通用
标头 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

FltGetVolumeGuidName

FltGetVolumeName

FltGetVolumeProperties

FltSetVolumeInformation