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)

另请参阅

FSCTL_QUERY_USN_JOURNAL

卷管理结构