MARK_HANDLE_INFO結構 (ntifs.h)
MARK_HANDLE_INFO 結構會在 FSCTL_MARK_HANDLE 控件程式代碼要求期間當做輸入緩衝區傳遞。
語法
typedef struct _MARK_HANDLE_INFO {
union {
ULONG UsnSourceInfo;
ULONG CopyNumber;
} DUMMYUNIONNAME;
ULONG UsnSourceInfo;
HANDLE VolumeHandle;
ULONG HandleInfo;
} MARK_HANDLE_INFO, *PMARK_HANDLE_INFO;
成員
DUMMYUNIONNAME
DUMMYUNIONNAME.UsnSourceInfo
請參閱下方 UsnSourceInfo。
DUMMYUNIONNAME.CopyNumber
識別從位於備援媒體上的檔案讀取時要讀取的檔案複本。
UsnSourceInfo
選擇性的更新序號 (USN) 來源資訊旗標。 若要設定任何這些值,必須在 [VolumeHandle] 欄位中指定磁碟區 DASD 句柄。 可以是下列值的組合:
旗 | 意義 |
---|---|
USN_SOURCE_DATA_MANAGEMENT | 服務不會修改檔案任何部分的外部檢視。 一般情況是 HSM 將數據從外部記憶體來回移動。 |
USN_SOURCE_AUXILIARY_DATA | 服務不會修改檔案的外部檢視,而與建立此檔案的應用程式有關。 可用來將私人數據流新增至檔案。 |
USN_SOURCE_REPLICATION_MANAGEMENT | 服務正在修改檔案,以符合存在於副本集另一個成員中相同檔案的內容。 |
USN_SOURCE_CLIENT_REPLICATION_MANAGEMENT | 復寫是從雲端或伺服器在客戶端系統上執行。 不需要磁碟區句柄才能設定此值 |
VolumeHandle
此作業的磁碟區句柄。
HandleInfo
包含用來識別要求的旗標。 此欄位可以是下列其中一個值:
旗 | 意義 |
---|---|
MARK_HANDLE_PROTECT_CLUSTERS | 在關閉句柄之前,請勿允許任何重組 (FSCTL_MOVE_FILE)。 |
MARK_HANDLE_TXF_SYSTEM_LOG | 此數據流正作為磁碟區上資源管理員的 Txf 記錄。 必須使用 IRP_MN_KERNEL_CALL 在核心中呼叫 。 從 Windows Vista 開始提供。 |
MARK_HANDLE_NOT_TXF_SYSTEM_LOG | 此元件不再使用此對象作為 TxF 記錄檔。 從 Windows Vista 開始提供。 |
MARK_HANDLE_REALTIME | 只有UDFS檔案系統支援。 標記裝置以即時串流視訊。 從 Windows 7 開始提供。 |
MARK_HANDLE_NOT_REALTIME | 只有UDFS檔案系統支援。 將裝置標示為不再進行即時視訊串流。 從 Windows 7 開始提供。 |
MARK_HANDLE_CLOUD_SYNC | 荒廢的;請勿使用此旗標。 |
MARK_HANDLE_READ_COPY | 數據必須從指定的數據複本讀取。 僅支援儲存空間備援磁碟區。 從 Windows 8 開始提供。 |
MARK_HANDLE_NOT_READ_COPY | 數據已不再從特定複本讀取。 僅支援儲存空間備援磁碟區。 從 Windows 8 開始提供。 |
MARK_HANDLE_FILTER_METADATA | 僅供內部Microsoft使用。 |
MARK_HANDLE_RETURN_PURGE_FAILURE | 將記憶體對應/快取的IO與非快取IO混在一起,且發出非快取IO時,系統會嘗試清除非快取IO範圍的記憶體對應。 如果這些清除失敗,系統通常不會將失敗傳回給可能導致損毀狀態的呼叫端。 此旗標會告知系統傳回指定句柄的清除失敗,讓應用程式可以更好地處理這種情況。 從 Windows 8.1 開始提供。 |
MARK_HANDLE_DISABLE_FILE_METADATA_OPTIMIZATION | 停用指定檔案上的檔案記錄區段 (FRS) 壓縮功能。 從 Windows 10 版本 1507 開始提供。 |
MARK_HANDLE_ENABLE_USN_SOURCE_ON_PAGING_IO | 告訴 NTFS 在 USN 紀錄中撰寫的分頁寫入上設定指定的 UsnSourceInfo 值。 傳統上,這不會在分頁寫入上完成,因為您不知道線程做了指定的變更。 這是覆寫。 只有當 Memory Manager 所持有的 FileObject 與它建立關聯的狀態時,才能運作。 從 Windows 10 版本 1507 開始提供。 |
MARK_HANDLE_SKIP_COHERENCY_SYNC_DISALLOW_WRITES | 告知系統,此檔案上不允許寫入。 如果有人嘗試開啟檔案以進行寫入存取,則作業會失敗並STATUS_ACCESS_DENIED。 如果看到寫入,作業會因為STATUS_MARKED_TO_DISALLOW_WRITES而失敗。 從 Windows 10 版本 1507 開始提供。 |
MARK_HANDLE_ENABLE_CPU_CACHE | 僅供內部Microsoft使用。 |
MARK_HANDLE_SUPPRESS_VOLUME_OPEN_FLUSH | 一般而言,在磁碟區句柄上的第一個讀取/寫入作業上(DASD 開啟),文件系統會排清磁碟區。 在某些情況下,這可能會產生效能後果。 如果在磁碟區句柄上設定此旗標,則會在第一個 IO 上隱藏該排清。 從 Windows 11 開始提供。 |
言論
MARK_HANDLE_INFO 包含用來標記指定檔案或目錄的資訊,以及其更新序號 (USN) 變更記錄,以及有關變更的數據。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows XP |
標頭 | ntifs.h |