
Ever wanted to write some code to determine the amount of bytes sent or received by Dial-Up Networking, what is the current CPU Usage or how many threads are currently running on the system?. The classes provided allow you do query any of these parameters, or to query the availability of performance objects and their counters both on the local machine and any machine on the network. Please note that since Windows 9x has its own version of performance counters which are incompatible with the NT versions, these classes will not work on Windows 9x. If you want classes to work with Windows 9x, have a look at the DynData classes which I have developed. If you do not have the PDH dll on your machine, then you can download it here.
Please note that some users have reported an access violation in advapi.dll when using performance counters on pre SP2 Windows 2000 machines. This is not a bug in my classes but a bug in Windows. For more information please see the MS KB article http://support.microsoft.com/default.aspx?scid=kb;en-us;Q264629&gssnb=1
The enclosed zip file contains the source code and a simple console based application which exercises the class.
V1.0 (9 February 1999)
V1.01 (5 September 1999)
V1.02 (13 September 1999)
V1.03 (25 January 2000)
V1.04 (24 March 2000)
V1.05 (14 April 2001)
V1.06 (26 October 2001)
V1.07 (15 February 2003)
V1.08 (27 December 2006)
PdhAddEnglishCounter,
PdhBindInputDataSource,
PdhBrowseCountersH,
PdhCloseLog,
PdhCollectQueryDataEx,
PdhCollectQueryDataWithTime,
PdhEnumLogSetNames,
PdhEnumMachinesH,
PdhEnumObjectItemsH,
PdhEnumObjectsH
PdhExpandCounterPathH,
PdhExpandWildCardPath
PdhExpandWildCardPathH,
PdhFormatFromRawValue,
PdhGetCounterTimeBase,
PdhGetDataSourceTimeRange,
PdhGetDataSourceTimeRangeH,
PdhGetDefaultPerfCounterH,
PdhGetDefaultPerfObjectH,
PdhGetFormattedCounterArray,
PdhGetLogFileSize,
PdhIsRealTimeQuery,
PdhLookupPerfIndexByName,
PdhLookupPerfNameByIndex,
PdhOpenLog
PdhOpenQueryH,
PdhReadRawLogRecord,
PdhSelectDataSource,
PdhSetDefaultRealTimeDataSource,
PdhSetQueryTimeRange,
PdhUpdateLog
PdhValidatePathEx
V1.09 (17 March 2007)
V1.10 (27 December 2007)
V1.11 (12 January 2008)