首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >快速$MFT解析库

快速$MFT解析库
EN

Stack Overflow用户
提问于 2010-09-22 17:47:45
回答 2查看 2.4K关注 0票数 0

我需要读取(简单且已经完成)和psrse $MFT - $DATA运行的文件和文件名,时间戳等等。我已经开始使用this ntfs库了,但是扫描整个mft太慢了。

我怎么才能加快速度呢,还是有另一个更快的库呢?

谢谢,但是你能给我解释一下为什么下面的代码很慢吗?

代码语言:javascript
复制
for (ULONG64 i = 0;i < kz;i++)
{
    FileRecordHeader = (FILE_RECORD_HEADER*) &buf[bzp];
    if (FileRecordHeader->Magic != FILE_RECORD_MAGIC)
    {
        goto pd;
    }
    usnaddr = (WORD*)((BYTE*)FileRecordHeader + FileRecordHeader->OffsetOfUS);
    usn = *usnaddr;
    usarray = usnaddr + 1;
    if (!PatchUS((WORD*)FileRecordHeader, rzf / vl->SectorSize, usn, usarray))
    {
        goto pd;
    }
    //ParseAttrs(FileRecordHeader,MASK_FILE_NAME,Attrs,&file);
    Application::DoEvents();
    progressBar1->Value = i;pd:
    bzp = bzp + rzf;
}

或者仅仅通过文件引用枚举并不快。我只需要枚举mft,但使用此代码需要几分钟,当这可以在大约20秒内完成(在22 gb的比例-更大的大小-更慢)

EN

回答 2

Stack Overflow用户

发布于 2010-09-22 20:38:42

看看linux驱动程序的源代码:http://www.linux-ntfs.org/doku.phphttp://www.tuxera.com/community/ntfs-3g-download/

票数 0
EN

Stack Overflow用户

发布于 2012-07-17 11:44:14

它与解析没有任何关系。您的代码由于Application::DoEvents();而变得很慢。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3768048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档