如何获取所有进程在基于 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
发布评论
评论(1)
您正在寻找的术语是“实时 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.