我处理的应用程序扫描某个位置(由UNC路径标识(的文件并收集有关它们的各种信息。其中一个位是备用文件流的列表 - 通过NtQueryInformationFile(..., FileStreamInformation)
调用检索。
这适用于无数的文件,除了极少数 - 对于那些少数(大部分jpg
来自某个相机,但也docx
和zip
(函数调用失败并STATUS_END_OF_FILE。我找不到任何解释为什么。同一目录中还有其他文件没有这样的问题,dir /r
显示没有备用流,copy
工作正常。数据损坏的可能性很小。
我将不胜感激任何可以解释这一点的想法。谢谢。
更多信息:
-
目标位于VNX 7500上(可能是其SMB服务器实现中的错误?
-
NTFS
备用流出现问题。列出它们会失败,但是如果您复制文件 - 它会到达目的地,没有任何备用流(并且应用程序可以毫无问题地处理复制的文件(。我怀疑操作系统复制操作静默地忽略了与 alt 流相关的故障,并且(如果发生(不会复制它们。
因此,基本上,将文件复制到其他地方并将它们复制回来(覆盖原始文件(可以解决问题。