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
オプションの更新シーケンス番号 (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
OutCaseSensitiveFlags
このメンバーは、InCaseSensitiveFlags が指定されていない場合でも、ファイルで大文字と小文字を区別するフラグを返します。
備考
システム定義の GUID_ECP_ATOMIC_CREATE** 値は、
詳細については、「追加の作成パラメーター の概要」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 10 バージョン 1607 |
サポートされる最小サーバー | Windows Server 2016 |
ヘッダー | ntifs.h |