69 lines
2.0 KiB
C
69 lines
2.0 KiB
C
/*++ BUILD Version: 0001
|
|
|
|
Copyright (c) 1985 - 1999, 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
|
|
|
|
Revision History:
|
|
Sept 97 Borrowed from the SDK samples and slightly modified
|
|
|
|
*/
|
|
|
|
#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
|
|
|
|
|
|
HANDLE MonOpenEventLog ();
|
|
VOID MonCloseEventLog ();
|
|
DWORD GetQueryType (IN LPWSTR);
|
|
|
|
|
|
// To Do:
|
|
// Add a flag like this for additional objects added.
|
|
// Used by IsNumberInUnicodeListand Collect.
|
|
|
|
|
|
// special value: query all counters but the counter values doesn't matter
|
|
#define QUERY_NOCOUNTERS 0x0001
|
|
#define QUERY_USER 0x0002
|
|
#define QUERY_CS 0x0004
|
|
DWORD IsNumberInUnicodeList (LPWSTR);
|
|
|
|
#define ALLOC(size) HeapAlloc (GetProcessHeap(), 0, size)
|
|
#define ALLOCZERO(size) HeapAlloc (GetProcessHeap(), HEAP_ZERO_MEMORY, size)
|
|
#define REALLOC(pointer, newsize) \
|
|
HeapReAlloc (GetProcessHeap(), 0, pointer, newsize)
|
|
#define FREE(pointer) HeapFree (GetProcessHeap(), 0, pointer)
|
|
|
|
#endif //_PERFUTIL_H_
|