Windows存储将数据量读取写入硬盘驱动器
问题描述:
我想开发一个跟踪写入硬盘驱动器的数据量的程序。我搜索了互联网,但没有找到必要的API调用。 但是他们必须存在,因为我发现了一个商业程序(www.hddled.com),它正是我想要达到的目标,它甚至显示了在Windows启动后启动时读取/写入的数据量。因此,我强烈地认为Windows会自己跟踪这个数字吗?Windows存储将数据量读取写入硬盘驱动器
答
物理上?可能在文件文件描述符表中。
答
经过一些在互联网上进一步挖掘,我发现了一个完美的解决方案。它被称为“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");
}