共用方式為


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_BUFFERREPARSE_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,以了解所設定的旗標。 如果某些檔案或目錄不支援旗標,則BEST_EFFORT才會生效。

OutCaseSensitiveFlags

即使未指定任何 InCaseSensitiveFlags,這個成員仍會傳回檔案上的區分大小寫旗標。

言論

呼叫 ECP 相關支援例程時,系統定義的GUID_ECP_ATOMIC_CREATE** 值會與這個 ECP 內容結構搭配使用,例如 FltAllocateExtraCreateParameterFsRtlRemoveExtraCreateParameter

如需詳細資訊,請參閱 額外建立參數 簡介。

要求

要求 價值
最低支援的用戶端 Windows 10 版本 1607
支援的最低伺服器 Windows Server 2016
標頭 ntifs.h