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值。 傳統上,這不會在分頁寫入上完成,因為您不知道哪個線程進行了指定的變更。 這是覆寫。 這只有在記憶體管理員持有的 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 |