Ela*_*lan 5 windows filesystems ntfs file
从我在网上找到的文章看来,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?根据上面的文章,在一种情况下,当创建文件的快捷方式时,会出现这种情况.
当文件引用另一个文件(例如嵌入Visio图表的Word文档)时,是否会自动分配对象ID?
只有在启用/运行分布式链接跟踪时才会分配对象ID,或者它们是否存在,而不管分布式链接跟踪?
如果我想跟踪文件的唯一标识符,那么在组合的卷序列号和文件索引(低/高)上使用对象ID(64字节)是否有任何好处,它们组合为12个字节.
谢谢,Elan
这一切都取决于你想要做什么。:)
文件索引号,就像文档说的那样,实际上只是 NTFS 中文件的一个很好的标识符(与 FAT 相对),但即使如此,如果文件被删除和重新创建(想想备份/恢复),它也会改变,尽管你如果您想区分它们,实际上可能会认为这是一种奖励。
最好不要担心与对象 ID 相关的链接跟踪服务,而是将它们视为您可以创建/设置/读取的东西,尽管再次仅在 NTFS 中。
对象 ID 有一些开销,而文件 ID 没有。对于大多数应用程序,我可能最终会选择文件参考号(即使它们可能很脆弱)。
归档时间: |
|
查看次数: |
7916 次 |
最近记录: |