Windows — Счетчики производительности в C ++ без lodctr

Я как бы привык к тому, как приложения C # могут создавать счетчики производительности — просто создавая новые PerformanceCounter объект, и используя его.

Теперь я вынужден использовать неуправляемый C (C ++?), И я действительно недоволен простотой использования API и предоставленных примеров. Моя главная боль — необходимость использовать lodctr для загрузки манифеста, как сказано в MSDN. Я не смог найти никакого решения для этого. Есть ли способ, как я могу использовать счетчики производительности без явной загрузки манифеста, как я могу сделать в C #?

2

Решение

Вы хотите использовать библиотеку PDH (Performance Data handler).
Основной поток идет так

// During startup call
h = PdhOpenQuery()
for each counter
PdhAddCounter( h ... )

// When you want the data values call
PdhCollectQueryData( h )
for each counter
PdhGetFormattedCounterValue()
-1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]