Windows将存储的数据量写入硬盘驱动器的哪些位置

时间:2011-11-21 18:35:59

标签: windows hard-drive

我想开发一个程序来跟踪写入硬盘的数据量。我搜索了互联网,但没有找到必要的API调用。 但是它们必须存在,因为我发现了一个商业程序(www.hddled.com),它完全符合我的要求,它甚至显示了在Windows启动后启动时读/写的数据量。因此,我强烈认为Windows会在某处跟踪这些数据?

3 个答案:

答案 0 :(得分:4)

通常,可以通过Windows Performance Counters获得此类信息。特别是,磁盘子系统将发布(某处!)读取和写入每个磁盘设备的字节数。准备好挖掘一下,找到你想要的信息。

答案 1 :(得分:0)

物理?可能在文件文件描述符表中。

答案 2 :(得分:0)

在互联网上进一步挖掘之后,我找到了完美的解决方案。它被称为“Windows管理基础架构”,并且以下几行C#代码在Windows会话期间提供了读/写数据量,尽管这些值的名称有点误导:

ManagementObjectSearcher searcher =
   new ManagementObjectSearcher("SELECT * FROM  Win32_PerfRawData_PerfDisk_PhysicalDisk");
ManagementObjectCollection col = searcher.Get();
m.GetPropertyValue("DiskReadBytesPerSec");
m.GetPropertyValue("DiskWriteBytesPerSec");
foreach (ManagementObject m in col)
{
   m.GetPropertyValue("DiskReadBytesPerSec");
   m.GetPropertyValue("DiskWriteBytesPerSec");
}