为了账号安全,请及时绑定邮箱和手机立即绑定

Windows中的唯一文件标识符

Windows中的唯一文件标识符

FFIVE 2019-12-20 10:23:12
有没有办法在文件的生命周期中唯一地标识文件(可能还有目录),而不管移动,重命名和内容修改如何?(Windows 2000及更高版本)。制作文件副本应该为副本赋予其自己的唯一标识符。我的应用程序将各种元数据与单个文件相关联。如果文件被修改,重命名或移动,则能够自动检测和更新文件关联将很有用。FileSystemWatcher可以提供通知此类变化的事件,但是,如果许多文件系统事件迅速发生,它会使用可以轻松填充(并且丢失事件)的内存缓冲区。哈希没有用,因为文件的内容可以更改,因此哈希也将更改。我曾考虑过使用文件创建日期,但是在某些情况下,它不是唯一的(即,当复制多个文件时)。我还听说过NTFS中的文件SID(安全ID?),但是我不确定这是否可以满足我的需求。有任何想法吗?
查看完整描述

3 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

如果调用GetFileInformationByHandle,则会在BY_HANDLE_FILE_INFORMATION.nFileIndexHigh / Low中获得文件ID。该索引在卷中是唯一的,即使您移动文件(在卷中)或重命名文件,索引也保持不变。

如果可以假定使用了NTFS,则可能还需要考虑使用备用数据流来存储元数据。


查看完整回答
反对 回复 2019-12-20
  • 3 回答
  • 0 关注
  • 942 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信