/* WBEMUtil.H utilities & definitions for use with WBEM perf counters */ #ifndef __CNTRTEXT_WBEMUTIL_H_ #define __CNTRTEXT_WBEMUTIL_H_ #include #ifdef __cplusplus extern "c" { #endif typedef struct _PERFTYPE_LOOKUP { LONG PerfType; LPWSTR RawType; LPWSTR FmtType; } PERFTYPE_LOOKUP, *PPERFTYPE_LOOKUP; typedef struct _PERFOBJECT_LOOKUP { LONG PerfObjectId; LPWSTR GuidString; } PERFOBJECT_LOOKUP, *PPERFOBJECT_LOOKUP; typedef struct _PERF_COUNTER_DLL_INFO { LPWSTR szWbemProviderName; LPWSTR szClassGuid; LPWSTR szRegistryKey; } PERF_COUNTER_DLL_INFO, *PPERF_COUNTER_DLL_INFO; extern const PPERFTYPE_LOOKUP PerfTypes; extern const DWORD dwNumPerfTypes; extern const PPERFOBJECT_LOOKUP PerfObjectGuids; extern const DWORD dwNumPerfObjectGuids; extern LPCWSTR szRawClass; extern LPCWSTR szFmtClass; extern LPCWSTR szGenericProviderName; extern LPCWSTR szGenericProviderGuid; __inline BOOL IsDisplayableType ( DWORD dwCounterType ) { if ((dwCounterType & PERF_DISPLAY_NOSHOW) && (dwCounterType != PERF_AVERAGE_BULK)) { return FALSE; } else { return TRUE; } } LPCWSTR GetPerfObjectGuid ( DWORD dwObjectId ); PERFTYPE_LOOKUP * GetPerfTypeInfo ( DWORD dwType ); LPCWSTR FormatPerfName ( LPWSTR szNameIn, BOOL bHiddenCounter ); DWORD GenerateMofHeader ( LPWSTR szBuffer, // string buffer LPCWSTR szComputerName, LPDWORD pcchBufferSize ); // dwFlags values #define WM_GMO_RAW_DEFINITION ((DWORD)0x00000001) #define WM_GMO_COSTLY_OBJECT ((DWORD)0x00000002) #define WM_GMO_DEFAULT_OBJECT ((DWORD)0x00000004) #define WM_GMO_DEFAULT_COUNTER ((DWORD)0x00000008) DWORD GenerateMofObject ( LPWSTR szBuffer, LPDWORD pcchBufferSize, PPERF_COUNTER_DLL_INFO pPcDllInfo, PERF_OBJECT_TYPE *pPerfObject, LPWSTR *lpCounterText, LPWSTR *lpDisplayText, // Localized name strings array DWORD dwFlags ); DWORD GenerateMofCounter ( LPWSTR szBuffer, LPDWORD pcchBufferSize, PERF_COUNTER_DEFINITION *pPerfCounter, LPWSTR *lpCounterText, // ENGLISH name strings array LPWSTR *lpDisplayText, // Localized name strings array DWORD dwFlags ); DWORD GenerateMofObjectTail ( LPWSTR szBuffer, LPDWORD pcchBufferSize ); DWORD GenerateMofInstances ( LPWSTR szBuffer, LPDWORD pcchBufferSize, PERF_DATA_BLOCK * pPerfDataBlock, PERF_OBJECT_TYPE * pPerfObject, LPWSTR * lpCounterText, // ENGLISH name strings array LPWSTR * lpDisplayText, // Localized name strings array DWORD dwFlags ); #ifdef __cplusplus } #endif #endif //__CNTRTEXT_WBEMUTIL_H_