USN_JOURNAL_DATA_V2 結構 (winioctl.h)
代表 (USN) 變更日誌、其記錄及其容量的更新序號。 這個結構是 FSCTL_QUERY_USN_JOURNAL 控件程式代碼的輸出緩衝區。
語法
typedef struct {
DWORDLONG UsnJournalID;
USN FirstUsn;
USN NextUsn;
USN LowestValidUsn;
USN MaxUsn;
DWORDLONG MaximumSize;
DWORDLONG AllocationDelta;
WORD MinSupportedMajorVersion;
WORD MaxSupportedMajorVersion;
DWORD Flags;
DWORDLONG RangeTrackChunkSize;
LONGLONG RangeTrackFileSizeThreshold;
} USN_JOURNAL_DATA_V2, *PUSN_JOURNAL_DATA_V2;
成員
UsnJournalID
目前的日誌標識碼。 日誌會在建立時指派新的標識碼,並在存在時加上新標識符戳記。 NTFS 檔系統會使用此標識碼進行完整性檢查。
FirstUsn
可從日誌讀取的第一筆記錄數目。
NextUsn
要寫入日誌的下一筆記錄數目。
LowestValidUsn
寫入此日誌實例之日誌中的第一筆記錄。 列舉磁碟區上的檔案或目錄可以傳回低於此值的USN (,換句話說, FirstUsn 成員值小於 LowestValidUsn 成員值) 。 如果這樣做,自上次撰寫USN以來,日誌已加上新標識碼戳記。 在此情況下, LowestValidUsn 可能會在日誌中指出不連續,而磁碟區上某些或所有檔案或目錄的變更可能已經發生,這些檔案或目錄未記錄在變更日誌中。
MaxUsn
變更日誌支援的最大 USN。 系統管理員必須刪除變更日誌,因為 NextUsn 的值接近此值。
MaximumSize
變更日誌的目標大小上限,以位元組為單位。 變更日誌可以成長超過此值,但接著會在下一個NTFS檔系統檢查點截斷為小於此值。
AllocationDelta
每次配置或解除分配記憶體時,都會從變更日誌的開頭移除磁碟記憶體的位元組數目。 換句話說,配置和解除分配會以這個大小的單位進行。 叢集大小的整數倍數是這個成員的合理值。
MinSupportedMajorVersion
檔系統支援的 USN 變更紀錄最低版本。
MaxSupportedMajorVersion
檔系統支援的 USN 變更紀錄版本上限。
Flags
是否開啟範圍追蹤。 以下是 Flags 成員的可能值。
值 | 意義 |
---|---|
|
磁碟區未開啟範圍追蹤。 |
|
磁碟區已開啟範圍追蹤。 |
RangeTrackChunkSize
追蹤範圍的數據粒度。 只有當您也將 Flags 成員設定為 FLAG_USN_TRACK_MODIFIED_RANGES_ENABLE 時,才有效。
RangeTrackFileSizeThreshold
檔案大小臨界值,以開始追蹤大小相等或較大的檔案範圍。 只有當您也將 Flags 成員設定為 FLAG_USN_TRACK_MODIFIED_RANGES_ENABLE 時,才有效。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8.1 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2012 R2 [僅限傳統型應用程式] |
標頭 | winioctl.h (包含 Windows.h) |