SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT 结构 (ntifs.h)
Windows 对文件发出SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT文件系统控件后,它会检查文件的分配。
为文件发出此文件系统控制后,将检查对文件的以下分配,以查看是否分配了给定的偏移量。 如果是这样,如果对齐区域有足够的可用空间,则分配的物理地址将与给定的 AlignmentValue 对齐。
语法
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 | 如果分配满足 AlignmentShift (或至少 FallbackAlignmentShift (如果指定) 找不到),则文件系统操作 (失败,例如扩展文件) 。 |
DAX_ALLOC_ALIGNMENT_FLAG_FALLBACK_SPECIFIED | 指示 FallbackAlignmentShift 字段存在于输入结构中,如果最佳对齐不可用,则指示回退对齐方式。 |
AlignmentShift
用于对齐文件的给定偏移量的块大小。 分配文件,以便文件的物理地址与此块大小保持一致。
实际对齐值由以下者提供:
AlignmentValue = (1 << AlignmentShift);
FileOffsetToAlign
应与给定 AlignmentValue 对齐的文件偏移量。 这应该是群集对齐的。
仅当文件偏移量和物理地址对齐 1gb 时,内存管理器才支持大型页面。
FallbackAlignmentShift
如果 标志中存在DAX_ALLOC_ALIGNMENT_FLAG_FALLBACK_SPECIFIED,则此字段指定回退块大小,以在找不到满足 AlignmentShift 的分配时对齐文件的给定偏移量。
注解
若要重置对齐约束,可向此 FSCTL 发出 AlignmentValue 为 1;即 AlignmentShift 为 0。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10 版本 1709 |
标头 | ntifs.h (包括 Ntifs.h) |