在Windows上从主文件表获取信息

时间:2020-03-05 18:51:38  来源:igfitidea点击:

我需要获取Windows计算机上MFT中包含的一些信息,并且希望有一些超级秘密API可以获取此信息。我需要能够以编程方式获取此信息,并且由于法律方面的考虑,我可能无法使用正式称为sysinternals的公司提供的工具。

我的另一个选择(我真的不想做)是使用DeviceIoControl获取MFT的起始扇区,并手动解析信息。

无论如何,特别地,我真正需要从"主文件表"中删除的是用于保存与文件关联的数据的逻辑扇区。

解决方案

回答

自Windows 2000以来,有一个文档化的API用于获取磁盘上文件位置的信息。在MSDN上查找带有FSCTL_GET_RETRIEVAL_POINTERS控制代码的DeviceIoControl函数:

http://msdn.microsoft.com/zh-CN/library/aa364572(VS.85).aspx

提供了用于编写自定义磁盘碎片整理程序的API,该API由其他几个控制代码组成。