#ifndef _CNTRMAP_H_ #define _CNTRMAP_H_ // // Global defines for the PERF_OBJECT_MAP structure. // #define MAX_PERF_OBJECTS 20 #define MAX_SERVICE_NAME_LENGTH 256 #define PERF_OBJ_FILE L"perfdll.ini" typedef unsigned long PERFMON_ID; typedef struct _PERF_COUNTER_MAP { PERFMON_ID mPerfId; DWORD mdwCounterType; } PERF_COUNTER_MAP, *PPERF_COUNTER_MAP; typedef struct _PERF_OBJECT_MAP { TCHAR mszProgramName[MAX_SERVICE_NAME_LENGTH]; // // mPerfId should be defined in counters.h // PERFMON_ID mPerfId; // // mdwCounters is number of counters for this object. // DWORD mdwCounters; DWORD mdwFirstCounter; // // The counters for this object (max defined above). // PERF_COUNTER_MAP * mCounter; } PERF_OBJECT_MAP, *PPERF_OBJECT_MAP; typedef struct _PERF_OBJECT_TYPE_MAP { PERF_OBJECT_TYPE mObject; PERF_COUNTER_DEFINITION mCounter[1]; } PERF_OBJECT_TYPE_MAP, *PPERF_OBJECT_TYPE_MAP; extern PERF_OBJECT_MAP gPerfObject[MAX_PERF_OBJECTS]; extern DWORD gdwNumberOfPerfObjects; // // Interface to this module. // BOOL LoadPerfObjects(); #endif