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 的分配时对齐文件的给定偏移量。

言论

若要重置对齐约束,可以使用 AlignmentValue 1 颁发此 FSCTL;也就是说,AlignmentShift 为 0。

要求

要求 价值
最低支持的客户端 Windows 10 版本 1709
标头 ntifs.h (include Ntifs.h)