;--- include file created by h2incx v0.86, copyright 2005 japheth
;--- source file: WINPERF.H, last modified: 4/24/1998 0:0
ifndef _WINPERF_
_WINPERF_	EQU	<>
PERF_DATA_VERSION	EQU	1
PERF_DATA_REVISION	EQU	1
PERF_DATA_BLOCK	struct
Signature	WCHAR 4 dup (?)
LittleEndian	DWORD	?
Version	DWORD	?
Revision	DWORD	?
TotalByteLength	DWORD	?
HeaderLength	DWORD	?
NumObjectTypes	DWORD	?
DefaultObject	SDWORD	?
SystemTime	SYSTEMTIME	<>
PerfTime	LARGE_INTEGER	<>
PerfFreq	LARGE_INTEGER	<>
PerfTime100nSec	LARGE_INTEGER	<>
SystemNameLength	DWORD	?
SystemNameOffset	DWORD	?
PERF_DATA_BLOCK	ends

PPERF_DATA_BLOCK typedef ptr PERF_DATA_BLOCK

PERF_OBJECT_TYPE	struct
TotalByteLength	DWORD	?
DefinitionLength	DWORD	?
HeaderLength	DWORD	?
ObjectNameTitleIndex	DWORD	?
ObjectNameTitle	LPWSTR	?
ObjectHelpTitleIndex	DWORD	?
ObjectHelpTitle	LPWSTR	?
DetailLevel	DWORD	?
NumCounters	DWORD	?
DefaultCounter	SDWORD	?
NumInstances	SDWORD	?
CodePage	DWORD	?
PerfTime	LARGE_INTEGER	<>
PerfFreq	LARGE_INTEGER	<>
PERF_OBJECT_TYPE	ends

PPERF_OBJECT_TYPE typedef ptr PERF_OBJECT_TYPE

PERF_NO_INSTANCES	EQU	- 1
PERF_SIZE_DWORD	EQU	00000000h
PERF_SIZE_LARGE	EQU	00000100h
PERF_SIZE_ZERO	EQU	00000200h
PERF_SIZE_VARIABLE_LEN	EQU	00000300h
PERF_TYPE_NUMBER	EQU	00000000h
PERF_TYPE_COUNTER	EQU	00000400h
PERF_TYPE_TEXT	EQU	00000800h
PERF_TYPE_ZERO	EQU	00000C00h
PERF_NUMBER_HEX	EQU	00000000h
PERF_NUMBER_DECIMAL	EQU	00010000h
PERF_NUMBER_DEC_1000	EQU	00020000h
PERF_COUNTER_VALUE	EQU	00000000h
PERF_COUNTER_RATE	EQU	00010000h
PERF_COUNTER_FRACTION	EQU	00020000h
PERF_COUNTER_BASE	EQU	00030000h
PERF_COUNTER_ELAPSED	EQU	00040000h
PERF_COUNTER_QUEUELEN	EQU	00050000h
PERF_COUNTER_HISTOGRAM	EQU	00060000h
PERF_TEXT_UNICODE	EQU	00000000h
PERF_TEXT_ASCII	EQU	00010000h
PERF_TIMER_TICK	EQU	00000000h
PERF_TIMER_100NS	EQU	00100000h
PERF_OBJECT_TIMER	EQU	00200000h
PERF_DELTA_COUNTER	EQU	00400000h
PERF_DELTA_BASE	EQU	00800000h
PERF_INVERSE_COUNTER	EQU	01000000h
PERF_MULTI_COUNTER	EQU	02000000h
PERF_DISPLAY_NO_SUFFIX	EQU	00000000h
PERF_DISPLAY_PER_SEC	EQU	10000000h
PERF_DISPLAY_PERCENT	EQU	20000000h
PERF_DISPLAY_SECONDS	EQU	30000000h
PERF_DISPLAY_NOSHOW	EQU	40000000h
PERF_COUNTER_COUNTER	EQU	( PERF_SIZE_DWORD  or  PERF_TYPE_COUNTER  or  PERF_COUNTER_RATE  or  PERF_TIMER_TICK  or  PERF_DELTA_COUNTER  or  PERF_DISPLAY_PER_SEC )
PERF_COUNTER_TIMER	EQU	( PERF_SIZE_LARGE  or  PERF_TYPE_COUNTER  or  PERF_COUNTER_RATE  or  PERF_TIMER_TICK  or  PERF_DELTA_COUNTER  or  PERF_DISPLAY_PERCENT )
PERF_COUNTER_QUEUELEN_TYPE	EQU	( PERF_SIZE_DWORD  or  PERF_TYPE_COUNTER  or  PERF_COUNTER_QUEUELEN  or  PERF_TIMER_TICK  or  PERF_DELTA_COUNTER  or  PERF_DISPLAY_NO_SUFFIX )
PERF_COUNTER_LARGE_QUEUELEN_TYPE	EQU	( PERF_SIZE_LARGE  or  PERF_TYPE_COUNTER  or  PERF_COUNTER_QUEUELEN  or  PERF_TIMER_TICK  or  PERF_DELTA_COUNTER  or  PERF_DISPLAY_NO_SUFFIX )
PERF_COUNTER_BULK_COUNT	EQU	( PERF_SIZE_LARGE  or  PERF_TYPE_COUNTER  or  PERF_COUNTER_RATE  or  PERF_TIMER_TICK  or  PERF_DELTA_COUNTER  or  PERF_DISPLAY_PER_SEC )
PERF_COUNTER_TEXT	EQU	( PERF_SIZE_VARIABLE_LEN  or  PERF_TYPE_TEXT  or  PERF_TEXT_UNICODE  or  PERF_DISPLAY_NO_SUFFIX )
PERF_COUNTER_RAWCOUNT	EQU	( PERF_SIZE_DWORD  or  PERF_TYPE_NUMBER  or  PERF_NUMBER_DECIMAL  or  PERF_DISPLAY_NO_SUFFIX )
PERF_COUNTER_LARGE_RAWCOUNT	EQU	( PERF_SIZE_LARGE  or  PERF_TYPE_NUMBER  or  PERF_NUMBER_DECIMAL  or  PERF_DISPLAY_NO_SUFFIX )
PERF_COUNTER_RAWCOUNT_HEX	EQU	( PERF_SIZE_DWORD  or  PERF_TYPE_NUMBER  or  PERF_NUMBER_HEX  or  PERF_DISPLAY_NO_SUFFIX )
PERF_COUNTER_LARGE_RAWCOUNT_HEX	EQU	( PERF_SIZE_LARGE  or  PERF_TYPE_NUMBER  or  PERF_NUMBER_HEX  or  PERF_DISPLAY_NO_SUFFIX )
PERF_SAMPLE_FRACTION	EQU	( PERF_SIZE_DWORD  or  PERF_TYPE_COUNTER  or  PERF_COUNTER_FRACTION  or  PERF_DELTA_COUNTER  or  PERF_DELTA_BASE  or  PERF_DISPLAY_PERCENT )
PERF_SAMPLE_COUNTER	EQU	( PERF_SIZE_DWORD  or  PERF_TYPE_COUNTER  or  PERF_COUNTER_RATE  or  PERF_TIMER_TICK  or  PERF_DELTA_COUNTER  or  PERF_DISPLAY_NO_SUFFIX )
PERF_COUNTER_NODATA	EQU	( PERF_SIZE_ZERO  or  PERF_DISPLAY_NOSHOW )
PERF_COUNTER_TIMER_INV	EQU	( PERF_SIZE_LARGE  or  PERF_TYPE_COUNTER  or  PERF_COUNTER_RATE  or  PERF_TIMER_TICK  or  PERF_DELTA_COUNTER  or  PERF_INVERSE_COUNTER  or  PERF_DISPLAY_PERCENT )
PERF_SAMPLE_BASE	EQU	( PERF_SIZE_DWORD  or  PERF_TYPE_COUNTER  or  PERF_COUNTER_BASE  or  PERF_DISPLAY_NOSHOW  or  00000001h )
PERF_AVERAGE_TIMER	EQU	( PERF_SIZE_DWORD  or  PERF_TYPE_COUNTER  or  PERF_COUNTER_FRACTION  or  PERF_DISPLAY_SECONDS )
PERF_AVERAGE_BASE	EQU	( PERF_SIZE_DWORD  or  PERF_TYPE_COUNTER  or  PERF_COUNTER_BASE  or  PERF_DISPLAY_NOSHOW  or  00000002h )
PERF_AVERAGE_BULK	EQU	( PERF_SIZE_LARGE  or  PERF_TYPE_COUNTER  or  PERF_COUNTER_FRACTION  or  PERF_DISPLAY_NOSHOW )
PERF_100NSEC_TIMER	EQU	( PERF_SIZE_LARGE  or  PERF_TYPE_COUNTER  or  PERF_COUNTER_RATE  or  PERF_TIMER_100NS  or  PERF_DELTA_COUNTER  or  PERF_DISPLAY_PERCENT )
PERF_100NSEC_TIMER_INV	EQU	( PERF_SIZE_LARGE  or  PERF_TYPE_COUNTER  or  PERF_COUNTER_RATE  or  PERF_TIMER_100NS  or  PERF_DELTA_COUNTER  or  PERF_INVERSE_COUNTER  or  PERF_DISPLAY_PERCENT )
PERF_COUNTER_MULTI_TIMER	EQU	( PERF_SIZE_LARGE  or  PERF_TYPE_COUNTER  or  PERF_COUNTER_RATE  or  PERF_DELTA_COUNTER  or  PERF_TIMER_TICK  or  PERF_MULTI_COUNTER  or  PERF_DISPLAY_PERCENT )
PERF_COUNTER_MULTI_TIMER_INV	EQU	( PERF_SIZE_LARGE  or  PERF_TYPE_COUNTER  or  PERF_COUNTER_RATE  or  PERF_DELTA_COUNTER  or  PERF_MULTI_COUNTER  or  PERF_TIMER_TICK  or  PERF_INVERSE_COUNTER  or  PERF_DISPLAY_PERCENT )
PERF_COUNTER_MULTI_BASE	EQU	( PERF_SIZE_LARGE  or  PERF_TYPE_COUNTER  or  PERF_COUNTER_BASE  or  PERF_MULTI_COUNTER  or  PERF_DISPLAY_NOSHOW )
PERF_100NSEC_MULTI_TIMER	EQU	( PERF_SIZE_LARGE  or  PERF_TYPE_COUNTER  or  PERF_DELTA_COUNTER  or  PERF_COUNTER_RATE  or  PERF_TIMER_100NS  or  PERF_MULTI_COUNTER  or  PERF_DISPLAY_PERCENT )
PERF_100NSEC_MULTI_TIMER_INV	EQU	( PERF_SIZE_LARGE  or  PERF_TYPE_COUNTER  or  PERF_DELTA_COUNTER  or  PERF_COUNTER_RATE  or  PERF_TIMER_100NS  or  PERF_MULTI_COUNTER  or  PERF_INVERSE_COUNTER  or  PERF_DISPLAY_PERCENT )
PERF_RAW_FRACTION	EQU	( PERF_SIZE_DWORD  or  PERF_TYPE_COUNTER  or  PERF_COUNTER_FRACTION  or  PERF_DISPLAY_PERCENT )
PERF_RAW_BASE	EQU	( PERF_SIZE_DWORD  or  PERF_TYPE_COUNTER  or  PERF_COUNTER_BASE  or  PERF_DISPLAY_NOSHOW  or  00000003h )
PERF_ELAPSED_TIME	EQU	( PERF_SIZE_LARGE  or  PERF_TYPE_COUNTER  or  PERF_COUNTER_ELAPSED  or  PERF_OBJECT_TIMER  or  PERF_DISPLAY_SECONDS )
PERF_COUNTER_HISTOGRAM_TYPE	EQU	80000000h
PERF_COUNTER_DELTA	EQU	( PERF_SIZE_DWORD  or  PERF_TYPE_COUNTER  or  PERF_COUNTER_VALUE  or  PERF_DELTA_COUNTER  or  PERF_DISPLAY_NO_SUFFIX )
PERF_COUNTER_LARGE_DELTA	EQU	( PERF_SIZE_LARGE  or  PERF_TYPE_COUNTER  or  PERF_COUNTER_VALUE  or  PERF_DELTA_COUNTER  or  PERF_DISPLAY_NO_SUFFIX )
PERF_DETAIL_NOVICE	EQU	100
PERF_DETAIL_ADVANCED	EQU	200
PERF_DETAIL_EXPERT	EQU	300
PERF_DETAIL_WIZARD	EQU	400
PERF_COUNTER_DEFINITION	struct
ByteLength	DWORD	?
CounterNameTitleIndex	DWORD	?
CounterNameTitle	LPWSTR	?
CounterHelpTitleIndex	DWORD	?
CounterHelpTitle	LPWSTR	?
DefaultScale	SDWORD	?
DetailLevel	DWORD	?
CounterType	DWORD	?
CounterSize	DWORD	?
CounterOffset	DWORD	?
PERF_COUNTER_DEFINITION	ends

PPERF_COUNTER_DEFINITION typedef ptr PERF_COUNTER_DEFINITION

PERF_NO_UNIQUE_ID	EQU	- 1
PERF_INSTANCE_DEFINITION	struct
ByteLength	DWORD	?
ParentObjectTitleIndex	DWORD	?
ParentObjectInstance	DWORD	?
UniqueID	SDWORD	?
NameOffset	DWORD	?
NameLength	DWORD	?
PERF_INSTANCE_DEFINITION	ends

PPERF_INSTANCE_DEFINITION typedef ptr PERF_INSTANCE_DEFINITION

PERF_COUNTER_BLOCK	struct
ByteLength	DWORD	?
PERF_COUNTER_BLOCK	ends

PPERF_COUNTER_BLOCK typedef ptr PERF_COUNTER_BLOCK

PERF_QUERY_OBJECTS	EQU	80000000h
PERF_QUERY_GLOBAL	EQU	80000001h
PERF_QUERY_COSTLY	EQU	80000002h
proto_PM_OPEN_PROC typedef proto stdcall :LPWSTR
PM_OPEN_PROC typedef ptr proto_PM_OPEN_PROC
proto_PM_COLLECT_PROC typedef proto stdcall :LPWSTR,:ptr LPVOID,:LPDWORD,:LPDWORD
PM_COLLECT_PROC typedef ptr proto_PM_COLLECT_PROC
proto_PM_CLOSE_PROC typedef proto stdcall 
PM_CLOSE_PROC typedef ptr proto_PM_CLOSE_PROC
proto_PM_QUERY_PROC typedef proto stdcall :LPDWORD,:ptr LPVOID,:LPDWORD,:LPDWORD
PM_QUERY_PROC typedef ptr proto_PM_QUERY_PROC
MAX_PERF_OBJECTS_IN_QUERY_FUNCTION	EQU	8
endif 
