/*++ BUILD Version: 0001 // Increment this if a change has global effects Copyright (c) 1992 Microsoft Corporation Module Name: perfutil.h Abstract: This file supports routines used to parse and create Performance Monitor Data Structures. It actually supports Performance Object types with multiple instances Author: Russ Blake 7/30/92 Revision History: --*/ #ifndef _PERFUTIL_H_ #define _PERFUTIL_H_ // // Utility macro. This is used to reserve a DWORD multiple of // bytes for Unicode strings embedded in the definitional data, // viz., object instance names. // #define DWORD_MULTIPLE(x) (((x+sizeof(DWORD)-1)/sizeof(DWORD))*sizeof(DWORD)) // (assumes dword is 4 bytes long and pointer is a dword in size) #define ALIGN_ON_DWORD(x) ((VOID *)( ((DWORD) x & 0x00000003) ? ( ((DWORD) x & 0xFFFFFFFC) + 4 ) : ( (DWORD) x ) )) extern WCHAR GLOBAL_STRING[]; // Global command (get all local ctrs) extern WCHAR FOREIGN_STRING[]; // get data from foreign computers extern WCHAR COSTLY_STRING[]; extern WCHAR NULL_STRING[]; #define QUERY_GLOBAL 1 #define QUERY_ITEMS 2 #define QUERY_FOREIGN 3 #define QUERY_COSTLY 4 // // The definition of the only routine of perfutil.c, It builds part of a // performance data instance (PERF_INSTANCE_DEFINITION) as described in // winperf.h // BOOL MonBuildInstanceDefinition (PERF_INSTANCE_DEFINITION *, PVOID *, DWORD, DWORD, DWORD, PUNICODE_STRING); HANDLE MonOpenEventLog (); VOID MonCloseEventLog (); DWORD GetQueryType (IN LPWSTR); BOOL IsNumberInUnicodeList (DWORD, LPWSTR); // // Memory Probe macro (not implemented) // #define HEAP_PROBE() ; #endif //_PERFUTIL_H_