我正在尝试通过 Windows 碎片整理 API(http://msdn.microsoft.com/en-us/library/aa363911 (VS.85 ).aspx)对单个文件进行碎片整理,但如果没有足够大的可用空间块供我使用文件 我想移动文件的其他部分以腾出空间。
链接的文章提到了其他文件的移动部分,但我找不到有关如何找出要移动的文件的任何信息。从可用空间位图中,我可以找到一个几乎足够大的空间,并且我知道它周围的逻辑簇号,但是从中我无法找出围绕它的文件,并且需要文件句柄来执行 FSCTL_MOVE_FILE 移动部分文件。
有没有什么办法,通过API或者通过解析MFT,找出一个逻辑簇号属于哪个文件,文件中哪个虚拟簇号对应于通过位图找到的逻辑簇号?