【发布时间】:2010-10-08 16:44:40
【问题描述】:
从我在网上找到的文章来看,NTFS 上的文件似乎有两种形式的唯一标识符:
-
使用 Windows API GetFileInformationByHandle(),我们可以访问结构 BY_HANDLE_FILE_INFORMATION,其中包含卷序列号和低/高文件索引。 http://msdn.microsoft.com/en-us/library/aa363788(VS.85).aspx
-
$Object_ID - 文章http://blogs.technet.com/b/askcore/archive/2010/08/25/ntfs-file-attributes.aspx 指出:
$OBJECT_ID – 这是一个包含 ID 的属性。此 ID 由分布式链接跟踪服务使用。在快捷方式中可以找到如何使用它的示例。在桌面上创建一个指向文件的快捷方式。然后移动那个文件。该快捷方式仍然有效,因为它使用了一种方法来附加源文件,而不仅仅是路径和文件名。
并非所有文件都有 $OBJECT_ID 属性。事实上,直到一个实际的 ID 被分配,该属性才被添加到文件中。
我试图了解对象 ID 的设置时间。这里有几个问题:
-
什么时候分配对象 ID?根据上述文章,在一种情况下,当创建文件的快捷方式时会出现这种情况。
-
当一个文件引用另一个文件时,是否会自动分配对象 ID,例如嵌入 Visio 图表的 Word 文档?
-
是否仅在启用/运行分布式链接跟踪时才分配对象 ID,还是无论分布式链接跟踪如何,它们都存在?
-
如果我想跟踪文件的唯一标识符,那么使用对象 ID(64 字节)而不是组合卷序列号和文件索引(低/高)(12 字节)对我有什么好处吗?结合起来。
谢谢,伊兰
【问题讨论】:
标签: windows file filesystems ntfs