共用方式為


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 成員的可能值。

意義
0x00000000
磁碟區未開啟範圍追蹤。
FLAG_USN_TRACK_MODIFIED_RANGES_ENABLE
0x00000001
磁碟區已開啟範圍追蹤。

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)

另請參閱

FSCTL_QUERY_USN_JOURNAL

USN_JOURNAL_DATA_V0

USN_JOURNAL_DATA_V1

磁碟區管理結構