структура 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) |