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
要返回的卷信息的类型。 以下项之一:
价值 | 意义 |
---|---|
|
返回一个 FILE_FS_ATTRIBUTE_INFORMATION 结构,该结构包含有关负责卷的文件系统的属性信息。 |
|
返回一个 FILE_FS_CONTROL_INFORMATION 结构,该结构包含有关卷的文件系统控制信息。 |
|
返回一个 FILE_FS_DEVICE_INFORMATION 结构,该结构包含卷的设备信息。 |
|
返回一个 FILE_FS_DRIVER_PATH_INFORMATION 结构,该结构包含有关指定驱动程序是否位于卷的 I/O 路径中的信息。 调用方必须先将驱动程序的名称存储在 FILE_FS_DRIVER_PATH_INFORMATION 结构中,然后才能调用 FltQueryVolumeInformationFile。 |
|
返回一个 FILE_FS_FULL_SIZE_INFORMATION 结构,其中包含有关卷上可用空间总量的信息。 |
|
返回一个 FILE_FS_OBJECTID_INFORMATION 结构,该结构包含卷的特定于文件系统的对象 ID 信息。 请注意,这与作系统分配的基于 GUID 的唯一卷名称不同。 |
|
返回一个 FILE_FS_SIZE_INFORMATION 结构,该结构包含有关与调用线程关联的用户可用的卷空间量的信息。 |
|
返回一个 FILE_FS_VOLUME_INFORMATION,其中包含有关卷的信息,例如卷标签、序列号和创建时间。 |
|
返回一个 FILE_FS_SECTOR_SIZE_INFORMATION 结构,其中包含有关卷的物理扇区大小和逻辑扇区大小的信息。 |
[out, optional] LengthReturned
指向调用方分配的变量的指针,该变量接收 FsInformation 缓冲区中返回的信息的大小(以字节为单位)。 此参数是可选的,可以 NULL。
返回值
FltQueryVolumeInformationFile 返回 STATUS_SUCCESS 或相应的 NTSTATUS 值,如下所示:
返回代码 | 描述 |
---|---|
|
当前未装载卷。 这是一个错误代码。 |
言论
FltQueryVolumeInformationFile 检索给定文件、目录、存储设备或卷的卷信息。
如果 FileObject 表示直接打开的设备,则只能将 fileFsDeviceInformation 指定为 FsInformationClass的值。
FltQueryVolumeInformationFile 在特定文件系统不支持的 FILE_FS_XXX_INFORMATION 结构的任何成员中返回零。
要求
要求 | 价值 |
---|---|
目标平台 | 普遍 |
标头 | fltkernel.h (包括 Fltkernel.h) |
库 | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | PASSIVE_LEVEL |
另请参阅
FILE_FS_DRIVER_PATH_INFORMATION
FILE_FS_SECTOR_SIZE_INFORMATION