PdhComputeCounterStatistics function (pdh.h)

Computes statistics for a counter from an array of raw values.


PDH_FUNCTION PdhComputeCounterStatistics(
  [in]  PDH_HCOUNTER     hCounter,
  [in]  DWORD            dwFormat,
  [in]  DWORD            dwFirstEntry,
  [in]  DWORD            dwNumEntries,
  [in]  PPDH_RAW_COUNTER lpRawValueArray,
  [out] PPDH_STATISTICS  data


[in] hCounter

Handle of the counter for which you want to compute statistics. The PdhAddCounter function returns this handle.

[in] dwFormat

Determines the data type of the formatted value. Specify one of the following values.

Value Meaning
Return the calculated value as a double-precision floating point real.
Return the calculated value as a 64-bit integer.
Return the calculated value as a long integer.

You can use the bitwise inclusive OR operator (|) to combine the data type with one of the following scaling factors.

Value Meaning
Do not apply the counter's scaling factors in the calculation.
Counter values greater than 100 (for example, counter values measuring the processor load on multiprocessor computers) will not be reset to 100. The default behavior is that counter values are capped at a value of 100.
Multiply the final value by 1,000.

[in] dwFirstEntry

Zero-based index of the first raw counter value to use to begin the calculations. The index value must point to the oldest entry in the buffer. The function starts at this entry and scans through the buffer, wrapping at the last entry back to the beginning of the buffer and up to the dwFirstEntry-1 entry, which is assumed to be the newest or most recent data.

[in] dwNumEntries

Number of raw counter values in the lpRawValueArray buffer.

[in] lpRawValueArray

Array of PDH_RAW_COUNTER structures that contain dwNumEntries entries.

[out] data

A PDH_STATISTICS structure that receives the counter statistics.

Return value

If the function succeeds, it returns ERROR_SUCCESS.

If the function fails, the return value is a system error code or a PDH error code. The following are possible values.

Return code Description
An argument is not correct or is incorrectly formatted.
The counter handle is not valid.


Minimum supported client Windows XP [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header pdh.h
Library Pdh.lib
DLL Pdh.dll

See also