如果我的目录中有几个硬链接都指向目录外的文件,那么对其中一个硬链接的更改会影响与该目录关联的USN日志,还是会影响原始目录的USN日志,其中包含创建时链接到的实际文件?
发布于 2014-12-24 15:15:43
当您添加硬链接USN_REASON_HARD_LINK_CHANGE时,日志将得到一个条目。然后,随着时间的推移,任何硬链接都可能被打开,并做出改变。随后的USN条目都将引用原始文件的FileReferenceNumber,但将包含FileName和ParentFileReferenceNumber,它们依赖于实际打开的链接。这是您可以用来区分链接的内容。请注意,只使用ParentFileReferenceNumber可能很容易区分,但这并不是真正的安全。虽然最广泛使用的模式是在不同的目录中有相同的名称链接,但是您可以在同一个目录中有一个链接,但是名称不同。
关于移动链接的注意事项:如果您选择以“汇总模式”读取USN (您的READ_USN_JOURNAL_DATA_V0有ReturnOnlyOnClose = 1),其中只读取累积到文件关闭点的条目,您可能会忽略USN_REASON_RENAME_OLD_NAME entries...and,而无法跟踪重命名是通过哪个链接创建的。这种USN记录不会累积到文件关闭事件中.我猜是因为ParentFileReferenceNumber和FileName之间可能发生冲突。
https://stackoverflow.com/questions/18058673
复制相似问题