是否可以检索ReFS为完整性流创建的校验和/哈希值?我找到了this文档,它描述了一个新的API控制代码:FSCTL_GET_INTEGRITY_INFORMATION,但它似乎只获得了有关校验和类型和块大小的完整性流的一些细节,而不是校验和本身。
我对这些信息感兴趣,因为我正在编写一个程序,需要比文件名和时间戳更强大地识别文件更改,我讨厌重新执行文件系统的所有校验和已经在做了,特别是因为我正在使用太字节数据。
答案 0 :(得分:1)
我认为您不应该直接访问校验和。每个64 KB群集中有一个CRC64校验和(对于大文件,您可能会获得大量的CRC校验和)。对于文件系统,它们以“私有”方式存储,而我不知道对它的API访问。根据我对2012R2中二进制格式的了解,没有ADS可以访问校验和,你必须深入挖掘分区。
关于最初的问题,您可能对FILE_ATTRIBUTE_NO_SCRUB_DATA感兴趣。其目的是“当应用程序开发人员希望更严格地控制何时以及如何清理这些文件时,此属性对于那些维护其自身完整性信息的应用程序非常有用。”这接近你想要的。
最好的问候。