структура FILE_FS_FULL_SIZE_INFORMATION_EX (ntddk.h)

Используется в запросе для запроса сведений о размере сектора для тома файловой системы.

Синтаксис

typedef struct _FILE_FS_FULL_SIZE_INFORMATION_EX {
  ULONGLONG ActualTotalAllocationUnits;
  ULONGLONG ActualAvailableAllocationUnits;
  ULONGLONG ActualPoolUnavailableAllocationUnits;
  ULONGLONG CallerTotalAllocationUnits;
  ULONGLONG CallerAvailableAllocationUnits;
  ULONGLONG CallerPoolUnavailableAllocationUnits;
  ULONGLONG UsedAllocationUnits;
  ULONGLONG TotalReservedAllocationUnits;
  ULONGLONG VolumeStorageReserveAllocationUnits;
  ULONGLONG AvailableCommittedAllocationUnits;
  ULONGLONG PoolAvailableAllocationUnits;
  ULONG     SectorsPerAllocationUnit;
  ULONG     BytesPerSector;
} FILE_FS_FULL_SIZE_INFORMATION_EX, *PFILE_FS_FULL_SIZE_INFORMATION_EX;

Члены

ActualTotalAllocationUnits

Общий объем (в кластерах) на томе без учета параметра квоты.

ActualAvailableAllocationUnits

Общий объем свободного места (в кластерах) на томе (в кластерах) без учета параметра квоты.

ActualPoolUnavailableAllocationUnits

Общее недоступное пространство (в кластерах) для тома из-за недостаточного свободного пространства пула, указанного в параметре PoolAvailableAllocationUnits.

CallerTotalAllocationUnits

Общий объем пространства (в кластерах) на томе, включая доступное, недоступное, используемое и зарезервированное пространство.

CallerAvailableAllocationUnits

Общее пространство (в кластерах) на томе, доступном пользователю, связанному с вызывающим потоком.

CallerPoolUnavailableAllocationUnits

Общий объем пространства (в кластерах), который является недоступным для тома из-за нехватки свободного пространства пула.

UsedAllocationUnits

Общее используемое пространство (в кластерах) на томе.

TotalReservedAllocationUnits

Общий объем зарезервированного пространства (в кластерах) на томе.

VolumeStorageReserveAllocationUnits

Специальный тип зарезервированного пространства (в кластерах) для резервирования хранилища на уровне тома. Это значение включается в TotalReservedAllocationUnits.

AvailableCommittedAllocationUnits

Общий объем пространства (в кластерах), зафиксированный пулом носителей, но не выделенный файловой системой.

PoolAvailableAllocationUnits

Общее доступное пространство (в кластерах) в соответствующем пуле носителей. Если том не является томом пробелов, параметр PoolAvailableAllocationUnits имеет значение 0.

SectorsPerAllocationUnit

Количество секторов в каждой единице распределения.

BytesPerSector

Количество байтов в каждом секторе.

Комментарии

Эти сведения можно запросить с помощью любого из следующих способов:

  • Вызовите FltQueryVolumeInformation или ZwQueryVolumeInformationFile, передав FileFsFullSizeInformationEx в качестве значения FileInformationClass и передавая выделенный вызывающим FILE_FS_FULL_SIZE_INFORMATION_EX структурированный буфер в качестве значения FileInformation.

  • Создайте IRP с основным кодом функции IRP_MJ_QUERY_VOLUME_INFORMATION.

Для запроса этих сведений не требуются определенные права доступа. Таким образом, эта информация доступна при условии, что доступ к тому осуществляется через открытый дескриптор для самого тома или файла или каталога на томе.

Размер буфера, передаваемого в параметре FileInformation в FltQueryVolumeInformation или ZwQueryVolumeInformationFile , должен быть не ниже sizeof (FILE_FS_FULL_SIZE_INFORMATION_EX).

Эта структура должна быть выровнена по границе LONGLONG (8 байт).

Требования

Требование Значение
Минимальная версия клиента Windows 10, версия 1809
Верхняя часть ntddk.h (включая wdm.h)

См. также раздел

FltQueryVolumeInformation

ZwQueryVolumeInformationFile