Преамбула: Хочу собирать данные со счетчиков производительности. Начальный обвес делается, но забавный момент с добавлением счетчика PdhAddCounter. А именно, метод ждет имя счетчика на языке ОС. Т.е. для русской WinXP нужен счетчик на русском. Есть, конечно, PdhAddEnglishCounter, но он с Vist'ы. Как бы выкрутиться, если приложение, допустим, нужно запустить как на WinXP рус/eng/japan?
11.06.10 01:25: Перенесено модератором из 'C/C++. Прикладные вопросы' — Кодт
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Я тоже об этом подумал, но вот постоянны ли они для разных версий Windows ?
У меня нет тому документальных подтверждений, только статистические — индексы предустановленных с ОС счётчиков не поменялись со времён NT4. Но ведь в реестре присутствует и английская версия имён. Можно найти индекс по английскому имени, а потом получить актуальное имя из локализованной ветки. В любом случае придётся закладываться либо на индекс, либо на английское имя, которое, как и локализованное, теоретически тоже может измениться — MSDN гарантий не даёт, велит смотреть справку в resource kit конкретной ОСи
В любом случае, коль скоро авторам pdh.dll потребовалось едва-ли не десять лет, чтобы додуматься до столь гениального изобретения как PdhAddEnglishCounter, то выбор у нас не особо велик