共用方式為


MARK_HANDLE_INFO32 結構 (winioctl.h)

包含用來標記指定檔案或目錄的資訊,以及其更新序號 (USN) 變更日誌記錄,以及有關變更的資料。 這只適用于 64 位程式碼,並存在以解譯 32 位程式碼所傳送 的MARK_HANDLE_INFO結構 。 FSCTL_MARK_HANDLE IOCTL 控制項程式碼會使用它。

語法

typedef struct _MARK_HANDLE_INFO32 {
  union {
    DWORD UsnSourceInfo;
    DWORD CopyNumber;
  } DUMMYUNIONNAME;
  DWORD  UsnSourceInfo;
  UINT32 VolumeHandle;
  DWORD  HandleInfo;
} MARK_HANDLE_INFO32, *PMARK_HANDLE_INFO32;

成員

DUMMYUNIONNAME

DUMMYUNIONNAME.UsnSourceInfo

DUMMYUNIONNAME.CopyNumber

UsnSourceInfo

要進行的變更類型。

作業不會從建立檔案的應用程式觀點外部修改檔案或目錄。

當執行緒寫入新的 USN 記錄時,只有線上程也設定這些旗標時,先前記錄中的來源資訊旗標才會繼續存在。 因此,來源資訊結構可讓應用程式篩選出僅由已知來源設定的 USN 記錄,例如防毒篩選器。

定義下列值。

意義
USN_SOURCE_DATA_MANAGEMENT
0x00000001
此作業提供作業系統對檔案或目錄所做的變更相關資訊。

一般用途是當遠端儲存體將資料從外部移至本機儲存體時。 遠端儲存體是階層式儲存體管理軟體。 這類移動通常至少會將 USN_REASON_DATA_OVERWRITE 旗標新增至 USN 記錄。 不過,資料並未從使用者的觀點變更。 藉由在保留記錄之USN_RECORD結構的SourceInfo成員中記下USN_SOURCE_DATA_MANAGEMENT,您可以判斷雖然在專案上執行寫入作業,但資料尚未變更。

USN_SOURCE_AUXILIARY_DATA
0x00000002
作業會將私人資料流程新增至檔案或目錄。

例如,病毒偵測器可能會新增總和檢查碼資訊。 當病毒偵測器修改專案時,系統會產生 USN 記錄。 USN_SOURCE_AUXILIARY_DATA 表示修改未變更應用程式資料。

USN_SOURCE_REPLICATION_MANAGEMENT
0x00000004
作業會建立或更新複寫檔案的內容。

例如,當檔案複寫服務在複寫目錄中建立或更新檔案時,會設定此旗標。

VolumeHandle

檔案或目錄所在磁片區的磁片區控制碼。 如需取得磁片區控制碼的詳細資訊,請參閱一節。

需要此控制碼,才能檢查此作業的許可權。

呼叫端必須具有 SE_MANAGE_VOLUME_NAME 許可權。 如需詳細資訊,請參閱 許可權

HandleInfo

旗標,指定 VolumeHandle 成員中控制碼值所識別之檔案或目錄的其他資訊。

意義
MARK_HANDLE_PROTECT_CLUSTERS
0x00000001
檔案標示為無法重組,直到控制碼關閉為止。
MARK_HANDLE_TXF_SYSTEM_LOG
0x00000004
檔案標示為無法重組,直到控制碼關閉為止。
MARK_HANDLE_NOT_TXF_SYSTEM_LOG
0x00000008
檔案標示為無法重組,直到控制碼關閉為止。
MARK_HANDLE_REALTIME
0x00000020
不論實際檔案類型為何,檔案都會標示為即時讀取行為。 標示此旗標的檔案必須針對 未緩衝的 I/O開啟。
MARK_HANDLE_NOT_REALTIME
0x00000040
先前使用 MARK_HANDLE_REALTIME 旗標標示為即時讀取行為的檔案,可以使用這個旗標解除標記,以移除即時行為。 標示此旗標的檔案必須針對 未緩衝的 I/O開啟。

規格需求

   
最低支援的用戶端 Windows 8 (僅限 64 位) [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2012 [僅限傳統型應用程式]
標頭 winioctl.h (包含 Windows.h)