如何获取Windows中所有文件IO系统调用的计数

发布于 2024-11-11 13:05:49 字数 530 浏览 2 评论 0 原文

如何获取所有进程在基于 Windows 的操作系统中生成的所有文件 IO 调用的数量(以使其至少在 XP 上工作)?类似于 进程监视器,但可以通过 C# 以编程方式访问(可以通过 C++或 C)

我不需要知道详细信息,只需知道每秒所有呼叫的计数,一旦获得该号码,我会将其(每秒)记录到一个文件中,例如这个

50395
39581
59205
...

更新
一些 API 可用,但我不太确定是否可以将它们用于整个操作系统

How do I get the number of all file IO calls produced within the Windows-based OS (to get it working at least on XP) for all processes? Something similar to the Process Monitor, but programmatically accessible from C# (can be via C++ or C)

I don't need to know the details, just the count of all calls per second, once the number is obtained I will log it (every second) to a file, such as this one

50395
39581
59205
...

UPDATE
There are some APIs available, but I am not too sure if I can use them for the whole OS

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

输什么也不输骨气 2024-11-18 13:05:49

您正在寻找的术语是“实时 ETW 消费者”——但这在 XP 上不起作用。在XP上,你可以得到这些数据,但不是实时的,只有在记录它然后解码日志之后。

The term you're looking for is "Realtime ETW consumer" - this isn't going to work on XP though. On XP, you can get this data, but not real-time, only after recording it then decoding the log.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文