谁有现成的读ntfs格式中文件的首簇号模块?
谁有现成的读ntfs格式中文件的首簇号模块?
[解决办法]
这恐怕不好找吧。
只读个文件的首簇号,有什么用呢?
[解决办法]
不行,Windows 是将应用与存储器的底层信息严格隔离的。还是用其他信息吧。
[解决办法]
NT需要驱动才能直接读扇区。你可以自己找一个这样的库,我以前见过。
不过读取首簇号其实很简单,首先读取分区表(0扇区)找到分区,然后读取NTFS Boot扇区(分区的0扇区),找到Main MFT,然后找到根目录,一级一级往下找就可以了。注意,分区表使用扇区号,而NTFS使用簇号。(因为恢复数据的需要,我手工找过,所以这个过程绝对不复杂)
你可以找一本《数据重现》的电子版,里面有详细的NTFS文件系统的介绍,按着编就可以了。
当然了,就你这个具体的需求,用簇号并不好,因为可能防病毒软件或者磁盘整理工具会搬动文件。最好的办法是直接写在NTFS数据流文件中(参考:http://blog.csdn.net/vivilorne/article/details/3841509)
这样可以防止文件被复制到非NTFS分区(比如U盘、光盘等)。