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,以了解所設定的旗標。 如果某些檔案或目錄不支援旗標,則BEST_EFFORT才會生效。
OutCaseSensitiveFlags
即使未指定任何 InCaseSensitiveFlags,這個成員仍會傳回檔案上的區分大小寫旗標。
言論
呼叫 ECP 相關支援例程時,系統定義的GUID_ECP_ATOMIC_CREATE** 值會與這個 ECP 內容結構搭配使用,例如 FltAllocateExtraCreateParameter 和 FsRtlRemoveExtraCreateParameter。
如需詳細資訊,請參閱 額外建立參數 簡介。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 10 版本 1607 |
支援的最低伺服器 | Windows Server 2016 |
標頭 | ntifs.h |