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 相關支援例程,例如 FltAllocateExtraCreateParameter 和 FsRtlRemoveExtraCreateParameter 時,系統定義的GUID_ECP_ATOMIC_CREATE** 值會搭配這個 ECP 內容結構使用。
如需詳細資訊 ,請參閱額外建立參數簡介 。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 (版本 1607) |
最低支援的伺服器 | Windows Server 2016 |
標頭 | ntifs.h |