FILE_FS_FULL_SIZE_INFORMATION 结构 (ntddk.h)

FILE_FS_FULL_SIZE_INFORMATION结构用于查询文件系统卷的扇区大小信息。

语法

typedef struct _FILE_FS_FULL_SIZE_INFORMATION {
  LARGE_INTEGER TotalAllocationUnits;
  LARGE_INTEGER CallerAvailableAllocationUnits;
  LARGE_INTEGER ActualAvailableAllocationUnits;
  ULONG         SectorsPerAllocationUnit;
  ULONG         BytesPerSector;
} FILE_FS_FULL_SIZE_INFORMATION, *PFILE_FS_FULL_SIZE_INFORMATION;

成员

TotalAllocationUnits

卷上可供与调用线程关联的用户使用的分配单位总数。

Microsoft Windows 2000 及更高版本: 如果使用每用户配额,此值可能小于磁盘上的分配单位总数。

CallerAvailableAllocationUnits

卷上可供与调用线程关联的用户使用的可用分配单元总数。

Windows 2000 及更高版本: 如果使用每用户配额,此值可能小于磁盘上可用分配单元的总数。

ActualAvailableAllocationUnits

卷上的可用分配单位总数。

SectorsPerAllocationUnit

每个分配单元中的扇区数。

BytesPerSector

每个扇区中的字节数。

注解

可以通过以下任一方式查询此信息:

  • 调用 FltQueryVolumeInformationZwQueryVolumeInformationFile,将 FileFsFullSizeInformation 作为 FileInformationClass 的值传递,并将调用方分配FILE_FS_FULL_SIZE_INFORMATION结构化缓冲区作为 FileInformation 的值传递。
  • 使用主函数代码IRP_MJ_QUERY_VOLUME_INFORMATION创建 IRP。
无需特定访问权限即可查询此信息。 因此,只要通过对卷本身或卷上的文件或目录的打开句柄访问卷,此信息就可用。

FileInformation 参数中传递到 FltQueryVolumeInformationZwQueryVolumeInformationFile 的缓冲区 大小 必须至少为 (FILE_FS_FULL_SIZE_INFORMATION) 。

此结构必须在 LONGLONG (8 字节) 边界上对齐。

要求

要求
Header ntddk.h (包括 Ntddk.h、Ntifs.h、Fltkernel.h)

另请参阅

FltQueryVolumeInformation

IRP_MJ_QUERY_VOLUME_INFORMATION

ZwQueryVolumeInformationFile