我将如何在C(*不是* C ++)中读取NTFS主文件表?

时间:2019-01-08 16:48:49

标签: c windows ntfs deviceiocontrol ntfs-mft

我需要一种简单,轻巧的方法,仅使用C即可读取Windows服务器上的NTFS MFT。我的目标是以编程方式为公司正在构建的应用程序返回目录及其权限的集合。

我在StackOverflow和其他地方研究过的所有其他答案都涉及使用C ++或其他语言,并且通常非常肿。我很确定,只要使用几行代码,就可以使用Windows API调用CreateFile(获取根卷的句柄)和DeviceIoControl(读取MFT)来完成所需的操作。但是我找不到执行此操作的简单C解决方案。

请注意,尽管我多年来一直是C#/。NET开发人员(并且还了解其他语言,包括Java和Python),但对于底层C编程和Windows API调用我还是很陌生。我也意识到,免费的Mft2Csv也可以做到这一点。但是我无法进行实际的源代码反向工程(GitHub只有可执行文件和支持文件)。

我还意识到我可以使用C#解析.NET名称空间System.IO和System.Security.AccessControl的目录树。但这对我来说太慢了。

0 个答案:

没有答案