2014-07-26 06:43:40 +00:00
|
|
|
#ifndef __Obinst_h__
|
|
|
|
#define __Objinst_h__
|
|
|
|
|
|
|
|
#ifndef _WINDOWS_
|
|
|
|
#include <windows.h>
|
|
|
|
#endif
|
|
|
|
#ifndef _WINPERF_
|
|
|
|
#include <winperf.h>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
class CPerfTitleDatabase;
|
|
|
|
class CPerfCounter;
|
|
|
|
|
|
|
|
class CPerfObjectInstance
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
|
|
|
|
CPerfObjectInstance(
|
|
|
|
PPERF_INSTANCE_DEFINITION const pPerfInstDef,
|
|
|
|
PPERF_COUNTER_DEFINITION const pPerfCntrDef, DWORD nCounters,
|
|
|
|
CPerfTitleDatabase * const pPerfTitleDatabase, BOOL fDummy );
|
|
|
|
|
|
|
|
~CPerfObjectInstance( void ){ }
|
|
|
|
|
|
|
|
BOOL GetObjectInstanceName( PTSTR pszObjInstName, DWORD nSize );
|
|
|
|
|
|
|
|
// Functions that return CPerfCounter pointers. Caller is
|
|
|
|
// responsible for deleting the CPerfCounter * when done with it.
|
|
|
|
|
|
|
|
CPerfCounter * GetFirstCounter( void );
|
|
|
|
|
|
|
|
CPerfCounter * GetNextCounter( void );
|
|
|
|
|
|
|
|
CPerfCounter * GetCounterByName( PCTSTR const pszName );
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
PPERF_INSTANCE_DEFINITION m_pPerfInstDef;
|
|
|
|
|
|
|
|
unsigned m_nCounters;
|
|
|
|
|
|
|
|
unsigned m_currentCounter;
|
|
|
|
|
|
|
|
PPERF_COUNTER_DEFINITION m_pPerfCntrDef;
|
|
|
|
|
|
|
|
CPerfTitleDatabase * m_pPerfCounterTitles;
|
|
|
|
|
|
|
|
CPerfCounter * MakeCounter( PPERF_COUNTER_DEFINITION const pCounter );
|
|
|
|
|
|
|
|
CPerfCounter * GetCounterByIndex( DWORD index );
|
|
|
|
|
|
|
|
CPerfTitleDatabase *m_pCounterTitleDatabase;
|
|
|
|
|
|
|
|
BOOL m_fDummy; // FALSE normally, TRUE when an object with no instances
|
|
|
|
};
|
|
|
|
|
|
|
|
typedef CPerfObjectInstance * PCPerfObjectInstance;
|
|
|
|
|
2009-02-10 18:37:48 +00:00
|
|
|
#endif
|