共用方式為


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

另請參閱

FSCTL_MARK_HANDLE