структура FILE_FS_SECTOR_SIZE_INFORMATION (ntddk.h)
Структура FILE_FS_SECTOR_SIZE_INFORMATION используется для запроса сведений о физическом и логическом размере сектора для тома файловой системы.
Синтаксис
typedef struct _FILE_FS_SECTOR_SIZE_INFORMATION {
ULONG LogicalBytesPerSector;
ULONG PhysicalBytesPerSectorForAtomicity;
ULONG PhysicalBytesPerSectorForPerformance;
ULONG FileSystemEffectivePhysicalBytesPerSectorForAtomicity;
ULONG Flags;
ULONG ByteOffsetForSectorAlignment;
ULONG ByteOffsetForPartitionAlignment;
} FILE_FS_SECTOR_SIZE_INFORMATION, *PFILE_FS_SECTOR_SIZE_INFORMATION;
Члены
LogicalBytesPerSector
Логические байты на сектор, сообщаемые физическим хранилищем. Это то же значение, что и размер блока, используемый для адресации логических блоков (LBA).
PhysicalBytesPerSectorForAtomicity
Фактические байты на сектор, сообщаемые физическим хранилищем, используемым для атомарной записи.
PhysicalBytesPerSectorForPerformance
Байт на сектор, сообщаемый физическим хранилищем для достижения оптимальной производительности.
FileSystemEffectivePhysicalBytesPerSectorForAtomicity
Часть PhysicalBytesPerSectorForAtomicity , рассматриваемая файловой системой как размер физического сектора.
Flags
Флаги для возможностей выравнивания секторов и производительности. Это значение является побитовой комбинацией ИЛИ следующего:
ByteOffsetForSectorAlignment
Смещение в байтах начала первого логического сектора в первом физическом секторе. Для этого элемента задано значение SSINFO_OFFSET_UNKNOWN , если для вычисления значения отсутствуют соответствующие сведения об устройстве.
ByteOffsetForPartitionAlignment
Значение смещения в байтах, используемое для выравнивания секции по границе физического сектора. Для этого элемента задано значение SSINFO_OFFSET_UNKNOWN , если для вычисления значения отсутствуют соответствующие сведения об устройстве.
Комментарии
Эти сведения можно запросить с помощью любого из следующих способов:
- Вызовите FltQueryVolumeInformation или ZwQueryVolumeInformationFile, передав FileFsSectorSizeInformation в качестве значения FileInformationClass и передавая выделенный вызывающим FILE_FS_SECTOR_SIZE_INFORMATION структурированный буфер в качестве значения FileInformation.
- Создайте IRP с основным кодом функции IRP_MJ_QUERY_VOLUME_INFORMATION.
- Вызовите FsRtlGetSectorSizeInformation с указателем на FILE_FS_SECTOR_SIZE_INFORMATION структурированный буфер. Элемент FileSystemEffectivePhysicalBytesPerSectorForAtomicity не будет иметь значение, инициализированное файловой системой, когда эта структура возвращается из FsRtlGetSectorSizeInformation. Драйвер файловой системы обычно вызывает эту функцию, а затем задает собственное значение fileSystemEffectivePhysicalBytesPerSectorForAtomicity.
Размер буфера, передаваемого в параметре FileInformation в FltQueryVolumeInformation или ZwQueryVolumeInformationFile , должен быть не ниже sizeof (FILE_FS_SECTOR_SIZE_INFORMATION).
Файловая система использует значение LogicalBytesPerSector для определения размера единицы распределения. Элемент LogicalBytesPerSector этой структуры эквивалентен члену BytesPerSectorFILE_FS_SIZE_INFORMATION и FILE_FS_FULL_SIZE_INFORMATION структур.
Если системе не удается определить значения PhysicalBytesPerSectorForAtomicity и PhysicalBytesPerSectorForPerformance с устройства хранения, для них устанавливается значение LogicalBytesPerSector.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Эта структура доступна начиная с Windows 7. |
Верхняя часть | ntddk.h (включая Ntddk.h, Ntifs.h, Fltkernel.h) |