Platform SDK: Performance Monitoring

PdhFormatFromRawValue

The PdhFormatFromRawValue function converts one raw performance data value to the specified format, or two raw performance data values if the format conversion is time-based.

PDH_FUNCTION PdhFormatFromRawValue(
  DWORD dwCounterType,      
  DWORD dwFormat,           
  LONGLONG *pTimeBase,      
  PPDH_RAW_COUNTER pRawValue1, 
  PPDH_RAW_COUNTER pRawValue2, 
  PPDH_FMT_COUNTERVALUE pFmtValue 
);

Parameters

dwCounterType
[in] The type of counter. This parameter can be one of the counter types defined in Winperf.h, except for PERF_LARGE_RAW_FRACTION and PERF_LARGE_RAW_BASE. Refer to the counter list contained in the Counters.chm file provided with the Windows 2000 Resource Kit for a description of the counter type defined in Winperf.h. The Counters.chm file is located in the ResourceKit folder when the Resource Kit is installed.
dwFormat
[in] The format to which the raw performance data is to be converted. This parameter can be one of the following values.
Value Meaning
PDH_FMT_DOUBLE Return the calculated value as a double-precision floating point real.
PDH_FMT_LARGE Return the calculated value as a 64-bit integer.
PDH_FMT_LONG Return the calculated value as a long integer.

The value selected from the previous table can be combined using the OR operator with one of the following scaling flags.
Flag Meaning
PDH_FMT_NOSCALE Do not apply the counter's scaling factors in the calculation.
PDH_FMT_1000 Multiply the final value by 1000.

pTimeBase
[in] A pointer to the time base, if necessary for the format conversion. If time base information is not necessary for the format conversion, the value of this parameter is ignored.
pRawValue1
[in] A pointer to a PDH_RAW_COUNTER structure containing a raw performance value.
pRawValue2
[in] A pointer to a PDH_RAW_COUNTER structure containing a second raw performance value, if necessary for the format conversion. If a second raw performance value is not necessary, this parameter should be NULL.
pFmtValue
[out] A pointer to a PDH_FMT_COUNTERVALUE structure that receives the formatted performance value.

Return Values

If the function succeeds, it returns ERROR_SUCCESS.

If the function fails, the return value is a PDH error status defined in PDHMsg.h. The following are possible error values.

Error value Description
PDH_INVALID_ARGUMENT An argument is not correct or is incorrectly formatted.
PDH_INVALID_HANDLE The counter handle is not valid.

Requirements

  Windows NT/2000: Requires Windows 2000.
  Header: Declared in Pdh.h.
  Library: Use Pdh.lib.

See Also

PDH_FMT_COUNTERVALUE, PDH_RAW_COUNTER, PdhReadRawLogRecord, PdhGetRawCounterArray, PdhGetCounterTimeBase