ReactOS 0.4.15-dev-7924-g5949c20
winperf.h
Go to the documentation of this file.
1#ifndef _WINPERF_H
2#define _WINPERF_H
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7#ifdef _MSC_VER
8#pragma warning(push)
9#pragma warning(disable:4820)
10#endif
11#define PERF_DATA_VERSION 1
12#define PERF_DATA_REVISION 1
13#define PERF_NO_INSTANCES -1
14#define PERF_SIZE_DWORD 0
15#define PERF_SIZE_LARGE 256
16#define PERF_SIZE_ZERO 512
17#define PERF_SIZE_VARIABLE_LEN 768
18#define PERF_TYPE_NUMBER 0
19#define PERF_TYPE_COUNTER 1024
20#define PERF_TYPE_TEXT 2048
21#define PERF_TYPE_ZERO 0xC00
22#define PERF_NUMBER_HEX 0
23#define PERF_NUMBER_DECIMAL 0x10000
24#define PERF_NUMBER_DEC_1000 0x20000
25#define PERF_COUNTER_VALUE 0
26#define PERF_COUNTER_RATE 0x10000
27#define PERF_COUNTER_FRACTION 0x20000
28#define PERF_COUNTER_BASE 0x30000
29#define PERF_COUNTER_ELAPSED 0x40000
30#define PERF_COUNTER_QUEUELEN 0x50000
31#define PERF_COUNTER_HISTOGRAM 0x60000
32#define PERF_TEXT_UNICODE 0
33#define PERF_TEXT_ASCII 0x10000
34#define PERF_TIMER_TICK 0
35#define PERF_TIMER_100NS 0x100000
36#define PERF_OBJECT_TIMER 0x200000
37#define PERF_DELTA_COUNTER 0x400000
38#define PERF_DELTA_BASE 0x800000
39#define PERF_INVERSE_COUNTER 0x1000000
40#define PERF_MULTI_COUNTER 0x2000000
41#define PERF_DISPLAY_NO_SUFFIX 0
42#define PERF_DISPLAY_PER_SEC 0x10000000
43#define PERF_DISPLAY_PERCENT 0x20000000
44#define PERF_DISPLAY_SECONDS 0x30000000
45#define PERF_DISPLAY_NOSHOW 0x40000000
46#define PERF_COUNTER_HISTOGRAM_TYPE 0x80000000
47#define PERF_NO_UNIQUE_ID (-1)
48#define PERF_DETAIL_NOVICE 100
49#define PERF_DETAIL_ADVANCED 200
50#define PERF_DETAIL_EXPERT 300
51#define PERF_DETAIL_WIZARD 400
52#define PERF_COUNTER_COUNTER (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_PER_SEC)
53#define PERF_COUNTER_TIMER (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_PERCENT)
54#define PERF_COUNTER_QUEUELEN_TYPE (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_QUEUELEN|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_NO_SUFFIX)
55#define PERF_COUNTER_BULK_COUNT (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_PER_SEC)
56#define PERF_COUNTER_TEXT (PERF_SIZE_VARIABLE_LEN|PERF_TYPE_TEXT|PERF_TEXT_UNICODE|PERF_DISPLAY_NO_SUFFIX)
57#define PERF_COUNTER_RAWCOUNT (PERF_SIZE_DWORD|PERF_TYPE_NUMBER|PERF_NUMBER_DECIMAL|PERF_DISPLAY_NO_SUFFIX)
58#define PERF_COUNTER_LARGE_RAWCOUNT (PERF_SIZE_LARGE|PERF_TYPE_NUMBER|PERF_NUMBER_DECIMAL|PERF_DISPLAY_NO_SUFFIX)
59#define PERF_COUNTER_RAWCOUNT_HEX (PERF_SIZE_DWORD|PERF_TYPE_NUMBER|PERF_NUMBER_HEX|PERF_DISPLAY_NO_SUFFIX)
60#define PERF_COUNTER_LARGE_RAWCOUNT_HEX (PERF_SIZE_LARGE|PERF_TYPE_NUMBER|PERF_NUMBER_HEX|PERF_DISPLAY_NO_SUFFIX)
61#define PERF_SAMPLE_FRACTION (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DELTA_COUNTER|PERF_DELTA_BASE|PERF_DISPLAY_PERCENT)
62#define PERF_SAMPLE_COUNTER (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_NO_SUFFIX)
63#define PERF_COUNTER_NODATA (PERF_SIZE_ZERO|PERF_DISPLAY_NOSHOW)
64#define PERF_COUNTER_TIMER_INV (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_INVERSE_COUNTER|PERF_DISPLAY_PERCENT)
65#define PERF_SAMPLE_BASE (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_DISPLAY_NOSHOW|1)
66#define PERF_AVERAGE_TIMER (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DISPLAY_SECONDS)
67#define PERF_AVERAGE_BASE (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_DISPLAY_NOSHOW|2)
68#define PERF_AVERAGE_BULK (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DISPLAY_NOSHOW)
69#define PERF_100NSEC_TIMER (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_100NS|PERF_DELTA_COUNTER|PERF_DISPLAY_PERCENT)
70#define PERF_100NSEC_TIMER_INV (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_100NS|PERF_DELTA_COUNTER|PERF_INVERSE_COUNTER|PERF_DISPLAY_PERCENT)
71#define PERF_COUNTER_MULTI_TIMER (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_DELTA_COUNTER|PERF_TIMER_TICK|PERF_MULTI_COUNTER|PERF_DISPLAY_PERCENT)
72#define PERF_COUNTER_MULTI_TIMER_INV (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_DELTA_COUNTER|PERF_MULTI_COUNTER|PERF_TIMER_TICK|PERF_INVERSE_COUNTER|PERF_DISPLAY_PERCENT)
73#define PERF_COUNTER_MULTI_BASE (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_MULTI_COUNTER|PERF_DISPLAY_NOSHOW)
74#define PERF_100NSEC_MULTI_TIMER (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_DELTA_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_100NS|PERF_MULTI_COUNTER|PERF_DISPLAY_PERCENT)
75#define PERF_100NSEC_MULTI_TIMER_INV (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_DELTA_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_100NS|PERF_MULTI_COUNTER|PERF_INVERSE_COUNTER|PERF_DISPLAY_PERCENT)
76#define PERF_RAW_FRACTION (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DISPLAY_PERCENT)
77#define PERF_RAW_BASE (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_DISPLAY_NOSHOW|3)
78#define PERF_ELAPSED_TIME (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_ELAPSED|PERF_OBJECT_TIMER|PERF_DISPLAY_SECONDS)
79typedef struct _PERF_DATA_BLOCK {
95typedef struct _PERF_OBJECT_TYPE {
100#ifdef _WIN64
102#else
104#endif
106#ifdef _WIN64
108#else
110#endif
122#ifdef _WIN64
124#else
126#endif
128#ifdef _WIN64
130#else
132#endif
147typedef struct _PERF_COUNTER_BLOCK {
150typedef DWORD(CALLBACK PM_OPEN_PROC)(LPWSTR);
151typedef DWORD(CALLBACK PM_COLLECT_PROC)(LPWSTR,PVOID*,PDWORD,PDWORD);
152typedef DWORD(CALLBACK PM_CLOSE_PROC)(void);
153#ifdef _MSC_VER
154#pragma warning(pop)
155#endif
156#ifdef __cplusplus
157}
158#endif
159#endif
#define CALLBACK
Definition: compat.h:35
unsigned long DWORD
Definition: ntddk_ex.h:95
#define DWORD
Definition: nt_native.h:44
long LONG
Definition: pedump.c:60
DWORD SystemNameLength
Definition: winperf.h:92
LARGE_INTEGER PerfTime100nSec
Definition: winperf.h:91
DWORD HeaderLength
Definition: winperf.h:85
LONG DefaultObject
Definition: winperf.h:87
DWORD Revision
Definition: winperf.h:83
LARGE_INTEGER PerfFreq
Definition: winperf.h:90
SYSTEMTIME SystemTime
Definition: winperf.h:88
LARGE_INTEGER PerfTime
Definition: winperf.h:89
DWORD Version
Definition: winperf.h:82
DWORD LittleEndian
Definition: winperf.h:81
DWORD SystemNameOffset
Definition: winperf.h:93
DWORD NumObjectTypes
Definition: winperf.h:86
WCHAR Signature[4]
Definition: winperf.h:80
DWORD TotalByteLength
Definition: winperf.h:84
DWORD NumCounters
Definition: winperf.h:112
LPWSTR ObjectHelpTitle
Definition: winperf.h:109
LARGE_INTEGER PerfTime
Definition: winperf.h:116
LPWSTR ObjectNameTitle
Definition: winperf.h:103
DWORD TotalByteLength
Definition: winperf.h:96
DWORD DefinitionLength
Definition: winperf.h:97
LONG DefaultCounter
Definition: winperf.h:113
LARGE_INTEGER PerfFreq
Definition: winperf.h:117
DWORD ObjectHelpTitleIndex
Definition: winperf.h:105
DWORD DetailLevel
Definition: winperf.h:111
DWORD HeaderLength
Definition: winperf.h:98
DWORD ObjectNameTitleIndex
Definition: winperf.h:99
struct _PERF_OBJECT_TYPE PERF_OBJECT_TYPE
struct _PERF_COUNTER_BLOCK PERF_COUNTER_BLOCK
struct _PERF_INSTANCE_DEFINITION * PPERF_INSTANCE_DEFINITION
struct _PERF_COUNTER_DEFINITION PERF_COUNTER_DEFINITION
struct _PERF_DATA_BLOCK * PPERF_DATA_BLOCK
struct _PERF_DATA_BLOCK PERF_DATA_BLOCK
PVOID PDWORD
Definition: winperf.h:151
struct _PERF_INSTANCE_DEFINITION PERF_INSTANCE_DEFINITION
struct _PERF_OBJECT_TYPE * PPERF_OBJECT_TYPE
struct _PERF_COUNTER_BLOCK * PPERF_COUNTER_BLOCK
struct _PERF_COUNTER_DEFINITION * PPERF_COUNTER_DEFINITION
__wchar_t WCHAR
Definition: xmlstorage.h:180
WCHAR * LPWSTR
Definition: xmlstorage.h:184