gpt4 book ai didi

windows - Windows 资源监视器使用哪个 API?

转载 作者:可可西里 更新时间:2023-11-01 14:13:59 25 4
gpt4 key购买 nike

Windows 资源监视器显示(除其他外)磁盘上的哪些文件当前被哪些进程访问。它是实时进行的。 怎么做?

我知道它可能使用 ETW,并且我可以使用 xperf 等工具生成跟踪。但是如何在不必启动、停止和解析跟踪文件的情况下获取实时信息呢?

我需要以编程方式访问数据,即从 C# 或 C++。

最佳答案

w OpenTrace/ProcessTrace/StopTrace只要您知道提供者 GUID,就可以实时获取数据。它们可以在 Win2000 上运行,但您需要在回调函数中解析原始数据。要将原始数据转换为人类可读的文本,我们需要 TMF/MOF。不过不确定它们是否公开。

对于 Vista/Win7,有一组新的 TDH(跟踪数据助手)API(例如:TdhFormatProperty)。向下滚动一点上面的链接,您可以看到它们。 TDH 的好处是他们可以为您解析数据(尽管仍然需要向 TDH 提供 TMF/MOF)。

我尝试使用 Open/Process/StopTrace API 将我自己的 .etl 编写为可读的 .txt 程序(因为我需要支持 XP)。我发现这很难。 TMF 文件不难解释,因为它是纯文本。困难的是破译 50 多种不同的未记录的 prinf-like 格式规范的内部结构。所以最后放弃了,坚持强大tracefmt.exe Microsoft WDK 中提供。

关于windows - Windows 资源监视器使用哪个 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8256690/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com