ATOMIC_CREATE_ECP_CONTEXT構造体 (ntifs.h)

ATOMIC_CREATE_ECP_CONTEXT構造体には、追加の create パラメーター (ECP) コンテキストが含まれています。これにより、作成中に補足操作をファイルに対してアトミックに実行できます。

構文

typedef struct _ATOMIC_CREATE_ECP_CONTEXT {
  USHORT               Size;
  USHORT               InFlags;
  USHORT               OutFlags;
  USHORT               ReparseBufferLength;
  PREPARSE_DATA_BUFFER ReparseBuffer;
  LONGLONG             FileSize;
  LONGLONG             ValidDataLength;
  PFILE_TIMESTAMPS     FileTimestamps;
  ULONG                FileAttributes;
  ULONG                UsnSourceInfo;
  USN                  Usn;
  ULONG                SuppressFileAttributeInheritanceMask;
  ULONG                InOpFlags;
  ULONG                OutOpFlags;
  ULONG                InGenFlags;
  ULONG                OutGenFlags;
  ULONG                CaseSensitiveFlagsMask;
  ULONG                InCaseSensitiveFlags;
  ULONG                OutCaseSensitiveFlags;
} ATOMIC_CREATE_ECP_CONTEXT, *PATOMIC_CREATE_ECP_CONTEXT;

メンバー

Size

このコンテキスト構造のサイズ (バイト単位)。

InFlags

作成操作で実行する要求された補足操作を示すフラグ。

意味
ATOMIC_CREATE_ECP_IN_FLAG_SPARSE_SPECIFIED スパース フラグをファイルに設定することを要求します。
ATOMIC_CREATE_ECP_IN_FLAG_REPARSE_POINT_SPECIFIED ファイルに再解析ポイントを設定することを要求します。
ATOMIC_CREATE_ECP_IN_FLAG_EOF_SPECIFIED ファイルのサイズをファイルに設定することを要求します。 これは、次のことも意味します。
ディスク上の割り当ては、要求されたファイル サイズをサポートするために発生します。
ATOMIC_CREATE_ECP_IN_FLAG_VDL_SPECIFIED ファイルに有効なデータ長を設定することを要求します。 これは、ファイル サイズが少なくとも要求された有効なデータ長に設定されることを意味します。 注: これは、潜在的に特権操作と見なされます
は、初期化されていないデータを公開します。
ATOMIC_CREATE_ECP_IN_FLAG_OPERATION_MASK このフラグをマスクとして使用して、他の InFlags フラグ値を指定します。
ATOMIC_CREATE_ECP_IN_FLAG_BEST_EFFORT 要求された補足操作の一部を実行できなかった場合でも、ファイル システムが作成操作を実行する必要があることを示します
ファイル システムでサポートされていません。 呼び出し元は OutFlags をチェックして、実行された操作を確認できます。 このフラグが指定されていない場合、要求されたすべての補足操作を正常に実行できない場合、ファイル システムは作成操作を失敗させる必要があります。

OutFlags

正常な作成操作で実行された実際の補足操作を示すフラグ。

意味
ATOMIC_CREATE_ECP_OUT_FLAG_SPARSE_SET スパース フラグがファイルに設定されたことを示します。
ATOMIC_CREATE_ECP_OUT_FLAG_REPARSE_POINT_SET ファイルに再解析ポイントが設定されたことを示します。
ATOMIC_CREATE_ECP_OUT_FLAG_EOF_SET ファイル サイズがファイルに設定されていること、および要求されたファイル サイズをサポートするためにディスク上の割り当てが発生したことを示します。
ATOMIC_CREATE_ECP_OUT_FLAG_VDL_SET ファイルに有効なデータ長が設定されていること、およびファイル サイズが要求された有効なデータ長以上に設定されたことを示します。
ATOMIC_CREATE_ECP_OUT_FLAG_OPERATION_MASK このフラグ値をマスクとして使用して、作成操作で実行された補足操作を決定します。

ReparseBufferLength

ReparseBuffer メンバーの長さ。 この値は 、MAXIMUM_REPARSE_DATA_BUFFER_SIZE (16K) を超えることはできません。

ReparseBuffer

作成操作で使用されるバッファーの種類を示す省略可能な値。 使用可能な値は 、REPARSE_DATA_BUFFER または REPARSE_GUID_DATA_BUFFERです。

FileSize

ファイルに設定する要求されたファイル サイズを示すために ATOMIC_CREATE_ECP_IN_FLAG_EOF_SPECIFIED と共に使用される省略可能な値。

ValidDataLength

ファイルに設定する要求された有効なデータ長を示すために 、ATOMIC_CREATE_ECP_IN_FLAG_VDL_SPECIFIED と共に使用される省略可能な値。

FileTimestamps

ファイル上の特定のアクションの最後に記録されたインスタンスを含む、省略可能な FILE_TIMESTAMPS 構造体へのポインター。

FileAttributes

ファイルの属性を指定します。

UsnSourceInfo

オプションの Update Sequence Number (USN) ソース情報フラグを指定します。

Usn

更新シーケンス番号 (USN) を指定します。 この値は、 の末尾GUID_ECP_ATOMIC_CREATE 入力されます。

SuppressFileAttributeInheritanceMask

通常の継承規則を抑制する必要があるファイル属性を示すマスク。

InOpFlags

ATOMIC_CREATE_ECP_IN_OP_FLAG_xxx フラグ。

OutOpFlags

ATOMIC_CREATE_ECP_OUT_OP_FLAG_xxx フラグ。

InGenFlags

ATOMIC_CREATE_ECP_IN_GN_FLAG_xxx フラグ。

OutGenFlags

ATOMIC_CREATE_ECP_OUT_GN_FLAG_xxx フラグ。

CaseSensitiveFlagsMask

指定するFILE_CS_FLAG_xxxフラグを示します。ファイル システムは、他のフラグの既定値を選択する必要があります。

InCaseSensitiveFlags

ファイルに大文字と小文字を区別するフラグを入力します。 BEST_EFFORTが指定されていない場合でも、ファイル システムは InCaseSensitiveFlags の一部を無視できます。 この動作は FileCaseSensitiveInformation に似ているため、呼び出し元は OutCaseSensitiveFlags を調べて、設定されているフラグを把握できます。 一部のファイルまたはディレクトリでフラグがサポートされていない場合は、BEST_EFFORTが有効になります。

OutCaseSensitiveFlags

このメンバーは、 InCaseSensitiveFlags が指定されていない場合でも、ファイルで大文字と小文字を区別するフラグを返します。

注釈

システム定義のGUID_ECP_ATOMIC_CREATE** 値は、 FltAllocateExtraCreateParameterFsRtlRemoveExtraCreateParameter などの ECP 関連のサポート ルーチンを呼び出すときに、この ECP コンテキスト構造で使用されます。

詳細については、「 追加の作成パラメーターの概要 」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 10 Version 1607
サポートされている最小のサーバー Windows Server 2016
Header ntifs.h