次の方法で共有


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
ヘッダー ntifs.h (Ntifs.h を含む)