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
ファイル システム コントロールに使用されるフラグ。 使用できるフラグは 2 つあります。
値 | 意味 |
---|---|
DAX_ALLOC_ALIGNMENT_FLAG_MANDATORY | AlignmentShift を満たす割り当て (または指定されている場合は少なくとも FallbackAlignmentShift) が見つからない場合は、ファイル システム操作 (ファイルの拡張など) に失敗します。 |
DAX_ALLOC_ALIGNMENT_FLAG_FALLBACK_SPECIFIED | FallbackAlignmentShift フィールドが入力構造に存在し、最適な配置が使用できない場合はフォールバックアラインメントを示します。 |
AlignmentShift
ファイルの指定したオフセットを揃えるために使用されるブロック サイズ。 ファイルは、ファイルの物理アドレスがこのブロック サイズに合わせて配置されるように割り当てられます。
実際の配置値は、次の方法で指定されます。
AlignmentValue = (1 << AlignmentShift);
FileOffsetToAlign
指定した AlignmentValue にアラインする必要があるファイル オフセット。 これはクラスターに合わせて配置する必要があります。
メモリ マネージャーでは、ファイル オフセットと物理アドレスが 1 gb にアラインされている場合にのみ、巨大なページがサポートされます。
FallbackAlignmentShift
DAX_ALLOC_ALIGNMENT_FLAG_FALLBACK_SPECIFIEDが Flags に存在する場合、このフィールドは AlignmentShift を満たす割り当てが見つからなかったときに、ファイルの指定されたオフセットを揃えるフォールバック ブロック サイズを指定します。
注釈
配置制約をリセットするには、 AlignmentValue が 1 のこの FSCTL を発行します。つまり、 AlignmentShift は 0 です。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 バージョン 1709 |
Header | ntifs.h (Ntifs.h を含む) |