PDH.DLL and Locales

PDH is a performance data helper API. Performance counters have indexes and names, the names may be available for several languages. It seems English is always available. The problem is that the indexes are not fixed. Well we can assume some well known indexes to have constant indexes but it’s very difficult to make it sure testing on different versions of Windows. The problem is that it seems to be a robust way to use English names as a primary identifier. Since English names seem to be always available we can lookup index by name. However, PDH API uses localized names, how do I know which locale it uses: GetThreadLocale, GetSystemDefaultLCID or GetUserDefaultLCID?

Leave a Reply