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_REASON_DATA_OVERWRITE 旗標新增至 USN 記錄。 不過,資料並未從使用者的觀點變更。 藉由在保留記錄之USN_RECORD結構的SourceInfo成員中記下USN_SOURCE_DATA_MANAGEMENT,您可以判斷雖然在專案上執行寫入作業,但資料尚未變更。 |
|
作業會將私人資料流程新增至檔案或目錄。
例如,病毒偵測器可能會新增總和檢查碼資訊。 當病毒偵測器修改專案時,系統會產生 USN 記錄。 USN_SOURCE_AUXILIARY_DATA 表示修改未變更應用程式資料。 |
|
作業會建立或更新複寫檔案的內容。
例如,當檔案複寫服務在複寫目錄中建立或更新檔案時,會設定此旗標。 |
VolumeHandle
檔案或目錄所在磁片區的磁片區控制碼。 如需取得磁片區控制碼的詳細資訊,請參閱一節。
需要此控制碼,才能檢查此作業的許可權。
呼叫端必須具有 SE_MANAGE_VOLUME_NAME 許可權。 如需詳細資訊,請參閱 許可權。
HandleInfo
旗標,指定 VolumeHandle 成員中控制碼值所識別之檔案或目錄的其他資訊。
值 | 意義 |
---|---|
|
檔案標示為無法重組,直到控制碼關閉為止。 |
|
檔案標示為無法重組,直到控制碼關閉為止。 |
|
檔案標示為無法重組,直到控制碼關閉為止。 |
|
不論實際檔案類型為何,檔案都會標示為即時讀取行為。 標示此旗標的檔案必須針對 未緩衝的 I/O開啟。 |
|
先前使用 MARK_HANDLE_REALTIME 旗標標示為即時讀取行為的檔案,可以使用這個旗標解除標記,以移除即時行為。 標示此旗標的檔案必須針對 未緩衝的 I/O開啟。 |
規格需求
最低支援的用戶端 | Windows 8 (僅限 64 位) [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2012 [僅限傳統型應用程式] |
標頭 | winioctl.h (包含 Windows.h) |