как использовать класс Win32_PerfRawData_Tcpip_NetworkInterface для получения текущей пропускной способности в C ++ - PullRequest
0 голосов
/ 15 ноября 2010

Я хотел узнать, как использовать класс Win32_PerfRawData_Tcpip_NetworkInterface для получения текущей полосы пропускания.Я хочу знать с самого начала.Я использую XP, Microsoft Visual C ++ 2005 Express Edition. Я не понимаю, как это сделать.

Ответы [ 3 ]

1 голос
/ 15 ноября 2010

Вам может оказаться проще получить необходимые данные, используя API-интерфейс Performance Counters напрямую, а не через WMI.Пошаговые инструкции: здесь .

После создания запроса и добавления к нему счетчиков вызовите функцию PdhCollectQueryData, чтобы получить текущие необработанные данные для всех счетчиков в запросе.

Многие счетчики, такие как счетчики скорости, требуют двух выборок данных для вычисления форматированного значения данных.PDH поддерживает данные для текущей выборки и ранее собранной выборки.В следующей процедуре описано, как собрать значения счетчиков, для расчета которых можно выбрать две выборки.

Оба API сложны, простого способа здесь нет.

0 голосов
/ 15 ноября 2010

Вместо этого вы должны использовать * Win32_PerfFormattedData_Tcpip_NetworkInterface *, счетчик Raw должен быть обработан перед использованием, и это нетривиальная задача.

Следующие свойства могут представлять интерес:

BytesReceivedPerSec, BytesSentPerSec, CurrentBandwidth (для расчета использования), BytesTotalPerSec

0 голосов
/ 15 ноября 2010

Эта ссылка на Доступ к данным о производительности из C ++ может быть тем, что вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...