我試圖通過Windows碎片整理API(http://msdn.microsoft.com/en-us/library/aa363911(VS.85).aspx)對單個文件進行碎片整理,但是如果沒有足夠大的可用空間塊來存儲我的文件,我想移動文件的其他部分爲其騰出空間。如何從NTFS/FAT32中的邏輯簇號找到有關文件的信息?
鏈接的文章提到移動其他文件的部分,但我找不到有關如何找出哪些文件移動的任何信息。從可用空間位圖中,我可以找到足夠大的空間,並且我知道圍繞它的邏輯簇編號,但是由此我無法找到哪些文件圍繞它,並且需要處理文件以執行FSCTL_MOVE_FILE部分文件。
有什麼辦法通過API或通過解析MFT來找出邏輯簇編號屬於哪個文件以及文件中的虛擬簇編號與通過位圖找到的邏輯簇編號相對應嗎?
作爲一個更新,Windows 7有'FSCTL_LOOKUP_STREAM_FROM_CLUSTER'這似乎只做一個操作的OP。 – Damon 2012-04-12 13:57:52