1

我正在做一个项目,我需要从服务器填充一些文件并将它们显示在网络浏览器中给用户。允许用户对文件执行基本 CRUD 操作的地方问题是我无法指定文件/文件夹的名称,unique id以防用户删除/重命名文件,我应该能够稍后识别文件。

我的问题是,任何文件/文件夹有什么独特之处,NTFS它们是独一无二的并且可以使用吗?以及如何使用.NET c#.

遇到了BY_HANDLE_FILE_INFORMATION 结构 ,但它可能需要我pinvoke

更新 1 - 尝试查看使用 nFileIndexHigh 和 nFileIndexLow 的可行性,但他们需要我做一个 pinvoke 并且当他们提到文件夹时,这种方法不能用于文件夹一个链接唯一文件夹标识符告诉我这是不可能的。

4

2 回答 2

0

我认为FILE_INTERNAL_INFORMATION结构,用于查询文件系统的 8 字节文件参考号,是您所需要的。IndexNumber是唯一标识文件的数字。您应该使用 P/invoke 来查询此信息。

于 2012-09-14T14:09:56.223 回答
0

忽略您似乎不想 P/Invoke 其他方法的事实可能是使用Windows Shell API。此 API 具有PIDL的概念,它标识外壳命名空间中的文件夹(或“类似”项)。即使用户重命名文件夹,PIDL 也不会更改。缺点是Shell API 暴露了您在Windows 资源管理器中看到的内容,例如Desktop位于层次结构的根部,即使它在物理上是磁盘上某处的子文件夹。

于 2012-09-14T14:17:50.243 回答