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)