78 lines
2.2 KiB
C
78 lines
2.2 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (C) 1995-1999 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
pdhicalc.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
calculation functions for the Data Provider Helper.
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef _PDHICALC_H_
|
||
|
#define _PDHICALC_H_
|
||
|
|
||
|
#include <pdh.h> // for public PDH data types
|
||
|
#include <winperf.h> // for perf counter type constants
|
||
|
|
||
|
#if defined(__cplusplus)
|
||
|
#define LINK_SPEC extern "C"
|
||
|
#else
|
||
|
#define LINK_SPEC
|
||
|
#endif
|
||
|
|
||
|
// special perf counter type used by text log files
|
||
|
// value is stored as a double precision floating point value
|
||
|
#define PERF_DOUBLE_RAW (PERF_SIZE_DWORD | 0x00002000 | PERF_TYPE_NUMBER | \
|
||
|
PERF_NUMBER_DECIMAL)
|
||
|
|
||
|
|
||
|
typedef double (APIENTRY COUNTERCALC) (PPDH_RAW_COUNTER, PPDH_RAW_COUNTER, LONGLONG*, LPDWORD);
|
||
|
typedef double (APIENTRY *LPCOUNTERCALC) (PPDH_RAW_COUNTER, PPDH_RAW_COUNTER, LONGLONG*, LPDWORD);
|
||
|
|
||
|
typedef PDH_STATUS (APIENTRY COUNTERSTAT) (LPVOID, DWORD, DWORD, DWORD, PPDH_RAW_COUNTER, PPDH_STATISTICS);
|
||
|
typedef PDH_STATUS (APIENTRY *LPCOUNTERSTAT) (LPVOID, DWORD, DWORD, DWORD, PPDH_RAW_COUNTER, PPDH_STATISTICS);
|
||
|
|
||
|
// calc functions
|
||
|
extern COUNTERCALC PdhiCalcDouble;
|
||
|
extern COUNTERCALC PdhiCalcAverage;
|
||
|
extern COUNTERCALC PdhiCalcElapsedTime;
|
||
|
extern COUNTERCALC PdhiCalcRawFraction;
|
||
|
extern COUNTERCALC PdhiCalcCounter;
|
||
|
extern COUNTERCALC PdhiCalcTimer;
|
||
|
extern COUNTERCALC PdhiCalcInverseTimer;
|
||
|
extern COUNTERCALC PdhiCalcRawCounter;
|
||
|
extern COUNTERCALC PdhiCalcNoData;
|
||
|
extern COUNTERCALC PdhiCalcDelta;
|
||
|
|
||
|
// status functions
|
||
|
extern COUNTERSTAT PdhiComputeFirstLastStats;
|
||
|
extern COUNTERSTAT PdhiComputeRawCountStats;
|
||
|
extern COUNTERSTAT PdhiComputeNoDataStats;
|
||
|
|
||
|
LINK_SPEC
|
||
|
PDH_STATUS
|
||
|
PdhiComputeFormattedValue (
|
||
|
IN LPCOUNTERCALC pCalcFunc,
|
||
|
IN DWORD dwCounterType,
|
||
|
IN LONG lScale,
|
||
|
IN DWORD dwFormat,
|
||
|
IN PPDH_RAW_COUNTER pRawValue1,
|
||
|
IN PPDH_RAW_COUNTER pRawValue2,
|
||
|
IN PLONGLONG pTimeBase,
|
||
|
IN DWORD dwReserved,
|
||
|
IN OUT PPDH_FMT_COUNTERVALUE fmtValue
|
||
|
);
|
||
|
|
||
|
LINK_SPEC
|
||
|
BOOL
|
||
|
AssignCalcFunction (
|
||
|
IN DWORD dwCounterType,
|
||
|
IN LPCOUNTERCALC *pCalcFunc,
|
||
|
IN LPCOUNTERSTAT *pStatFunc
|
||
|
);
|
||
|
|
||
|
#endif // _PDHICALC_H_
|