c++ - Error with using PdhAddEnglishCounter -
my code:
#include <windows.h> #include <iostream> #include <pdh.h> #pragma comment (lib, "pdh.lib") void main() {     pdh_status status;     hquery query = null;     hcounter counter;     wchar buffer[pdh_max_counter_path];     pdhopenquery(null, null, &query);     wcscpy(buffer, l"\\nto-prog\thread(_total/_total)\context switches/sec");     status = pdhaddenglishcounter(query, buffer, 0, &counter); } i have error:

english translate:
access point in procedure pdhaddenglishcountera not found in library dll pdh.dll.
if i'm using pdhaddcounter instead of pdhaddenglishcounter, see in status: 0xc0000bc0 (pdh_cstatus_bad_countername). need this?
p.s. i'm using visual studio 2010 on windows xp.
the reason error, as msdn says pdhaddenglishcounter not supported on windows xp

for pdhaddcounter, counter path has correctly localized. refer msdn here. might want consider pdhlookupperfnamebyindex alternative (again, msdn here).
there useful article on ms knowledgebase too.
Comments
Post a Comment