USN_JOURNAL_DATA_V0 结构 (winioctl.h)
表示更新序列号 (USN) 变更日志、其记录以及其容量。 此结构是 FSCTL_QUERY_USN_JOURNAL 控制代码的输出缓冲区。 在Windows 8和Windows Server 2012此结构USN_JOURNAL_DATA命名。 使用该名称使用较旧的 SDK 和编译器进行编译。
语法
typedef struct {
DWORDLONG UsnJournalID;
USN FirstUsn;
USN NextUsn;
USN LowestValidUsn;
USN MaxUsn;
DWORDLONG MaximumSize;
DWORDLONG AllocationDelta;
} USN_JOURNAL_DATA_V0, *PUSN_JOURNAL_DATA_V0;
成员
UsnJournalID
当前日记标识符。 日志在创建时会分配一个新标识符,并且可以在其存在过程中用新标识符进行标记。 NTFS 文件系统将此标识符用于完整性检查。
FirstUsn
可从日志中读取的第一条记录的数目。
NextUsn
要写入日志的下一条记录的数目。
LowestValidUsn
写入此日记实例的日记中的第一条记录。 枚举卷上的文件或目录可以返回低于此值的 USN (换句话说,即 FirstUsn 成员值小于 LowestValidUsn 成员值) 。 如果这样做,则自上次编写 USN 以来,日记已加盖了新的标识符。 在这种情况下, LowestValidUsn 可能指示日志中存在中断,其中对卷上的部分或所有文件或目录的更改可能已发生,但未记录在更改日志中。
MaxUsn
更改日志支持的最大 USN。 当 NextUsn 的值接近此值时,管理员必须删除更改日志。
MaximumSize
更改日志的目标最大大小(以字节为单位)。 更改日志可能会增大到大于此值,但随后在下一个 NTFS 文件系统检查点处将其截断为小于此值。
AllocationDelta
每次分配或解除分配内存时,添加到末尾并从更改日志开头删除的磁盘内存字节数。 换句话说,分配和解除分配以此大小的单位进行。 群集大小的整数倍数是此成员的合理值。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
标头 | winioctl.h (包括 Windows.h) |