次の方法で共有


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 を含む)