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) |