Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
После того как Windows выдает элемент управления SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT файловой системы для файла, он проверяет выделение файла.
После выдачи этого элемента управления файловой системой для файла будут рассмотрены следующие выделения файла, чтобы узнать, выделяется ли данное смещение. Если это так, физический адрес выделения будет выровнен с заданным Выравнивание, если достаточно свободного места доступно в выровненных регионах.
Синтаксис
typedef struct _SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT {
ULONG Flags;
ULONG AlignmentShift;
ULONGLONG FileOffsetToAlign;
ULONG FallbackAlignmentShift;
} SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT, *PSET_DAX_ALLOC_ALIGNMENT_HINT_INPUT;
Члены
Flags
Флаги, используемые для управления файловой системой. Существует два флага, которые можно использовать:
| Ценность | Значение |
|---|---|
| DAX_ALLOC_ALIGNMENT_FLAG_MANDATORY | Если выделение, удовлетворяющее ВыравниваниеShift (или, по крайней мере, FallbackAlignmentShift, если указано), не удается найти, то завершится сбой операции файловой системы (например, расширение файла). |
| DAX_ALLOC_ALIGNMENT_FLAG_FALLBACK_SPECIFIED | Указывает, что поле FallbackAlignmentShift присутствует в входной структуре и указывает резервное выравнивание, если оптимальное выравнивание недоступно. |
AlignmentShift
Размер блока, используемый для выравнивания заданного смещения файла. Файл выделяется таким образом, чтобы физический адрес файла был выровнен по размеру блока.
Фактическое значение выравнивания определяется следующими способами:
AlignmentValue = (1 << AlignmentShift);
FileOffsetToAlign
Смещение файла, которое должно быть выровнено с заданным AlignmentValue. Это должно быть выровнено в кластере.
Диспетчер памяти поддерживает огромную страницу, только если смещение файла и физический адрес выровнен в 1 ГБ.
FallbackAlignmentShift
Если DAX_ALLOC_ALIGNMENT_FLAG_FALLBACK_SPECIFIED присутствует в Флаги, это поле указывает резервный размер блока для выравнивания заданного смещения файла при каждом выделении, удовлетворяющем ВыравниваниюShift.
Замечания
Чтобы сбросить ограничение выравнивания, можно выполнить это FSCTL с выравниванием 1; то есть ВыравниваниеShift значение 0.
Требования
| Требование | Ценность |
|---|---|
| минимальные поддерживаемые клиентские | Windows 10 версии 1709 |
| заголовка | ntifs.h (include Ntifs.h) |