我想如何使用Win32_PerfRawData_Tcpip_NetworkInterface类来获取当前带宽。 我想从一开始就知道。我正在使用xp,Microsoft Visual C ++ 2005 Express Edition。我没有得到如何。
答案 0 :(得分:1)
您可能会发现使用Performance Counters API直接获取所需数据更容易,而不是通过WMI。分步说明是here。
创建查询并添加后 反击它,打电话给 PdhCollectQueryData函数来 检索所有的当前原始数据 查询中的计数器。
许多计数器,例如费率计, 需要两个数据样本来计算 格式化的数据值。 PDH坚持认为 当前样本的数据和 以前收集的样本。该 以下程序介绍了如何操作 收集需要的计数器值 两个样本来计算可显示的 值。
这两个API都很复杂,这里没有简单的方法。
答案 1 :(得分:0)
Accessing Performance Data from C++上的此链接可能就是您要找的内容。
答案 2 :(得分:0)
你应该使用* Win32_PerfFormattedData_Tcpip_NetworkInterface *代替,Raw计数器需要在使用之前进行处理,这是一个非常重要的任务。
以下属性可能会引起关注:
BytesReceivedPerSec,BytesSentPerSec,CurrentBandwidth(计算利用率),BytesTotalPerSec