Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenwinperf.h
Go to the documentation of this file.
00001 #ifndef _WINPERF_H 00002 #define _WINPERF_H 00003 00004 #ifdef __cplusplus 00005 extern "C" { 00006 #endif 00007 #ifdef _MSC_VER 00008 #pragma warning(push) 00009 #pragma warning(disable:4820) 00010 #endif 00011 #define PERF_DATA_VERSION 1 00012 #define PERF_DATA_REVISION 1 00013 #define PERF_NO_INSTANCES -1 00014 #define PERF_SIZE_DWORD 0 00015 #define PERF_SIZE_LARGE 256 00016 #define PERF_SIZE_ZERO 512 00017 #define PERF_SIZE_VARIABLE_LEN 768 00018 #define PERF_TYPE_NUMBER 0 00019 #define PERF_TYPE_COUNTER 1024 00020 #define PERF_TYPE_TEXT 2048 00021 #define PERF_TYPE_ZERO 0xC00 00022 #define PERF_NUMBER_HEX 0 00023 #define PERF_NUMBER_DECIMAL 0x10000 00024 #define PERF_NUMBER_DEC_1000 0x20000 00025 #define PERF_COUNTER_VALUE 0 00026 #define PERF_COUNTER_RATE 0x10000 00027 #define PERF_COUNTER_FRACTION 0x20000 00028 #define PERF_COUNTER_BASE 0x30000 00029 #define PERF_COUNTER_ELAPSED 0x40000 00030 #define PERF_COUNTER_QUEUELEN 0x50000 00031 #define PERF_COUNTER_HISTOGRAM 0x60000 00032 #define PERF_TEXT_UNICODE 0 00033 #define PERF_TEXT_ASCII 0x10000 00034 #define PERF_TIMER_TICK 0 00035 #define PERF_TIMER_100NS 0x100000 00036 #define PERF_OBJECT_TIMER 0x200000 00037 #define PERF_DELTA_COUNTER 0x400000 00038 #define PERF_DELTA_BASE 0x800000 00039 #define PERF_INVERSE_COUNTER 0x1000000 00040 #define PERF_MULTI_COUNTER 0x2000000 00041 #define PERF_DISPLAY_NO_SUFFIX 0 00042 #define PERF_DISPLAY_PER_SEC 0x10000000 00043 #define PERF_DISPLAY_PERCENT 0x20000000 00044 #define PERF_DISPLAY_SECONDS 0x30000000 00045 #define PERF_DISPLAY_NOSHOW 0x40000000 00046 #define PERF_COUNTER_HISTOGRAM_TYPE 0x80000000 00047 #define PERF_NO_UNIQUE_ID (-1) 00048 #define PERF_DETAIL_NOVICE 100 00049 #define PERF_DETAIL_ADVANCED 200 00050 #define PERF_DETAIL_EXPERT 300 00051 #define PERF_DETAIL_WIZARD 400 00052 #define PERF_COUNTER_COUNTER (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_PER_SEC) 00053 #define PERF_COUNTER_TIMER (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_PERCENT) 00054 #define PERF_COUNTER_QUEUELEN_TYPE (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_QUEUELEN|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_NO_SUFFIX) 00055 #define PERF_COUNTER_BULK_COUNT (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_PER_SEC) 00056 #define PERF_COUNTER_TEXT (PERF_SIZE_VARIABLE_LEN|PERF_TYPE_TEXT|PERF_TEXT_UNICODE|PERF_DISPLAY_NO_SUFFIX) 00057 #define PERF_COUNTER_RAWCOUNT (PERF_SIZE_DWORD|PERF_TYPE_NUMBER|PERF_NUMBER_DECIMAL|PERF_DISPLAY_NO_SUFFIX) 00058 #define PERF_COUNTER_LARGE_RAWCOUNT (PERF_SIZE_LARGE|PERF_TYPE_NUMBER|PERF_NUMBER_DECIMAL|PERF_DISPLAY_NO_SUFFIX) 00059 #define PERF_COUNTER_RAWCOUNT_HEX (PERF_SIZE_DWORD|PERF_TYPE_NUMBER|PERF_NUMBER_HEX|PERF_DISPLAY_NO_SUFFIX) 00060 #define PERF_COUNTER_LARGE_RAWCOUNT_HEX (PERF_SIZE_LARGE|PERF_TYPE_NUMBER|PERF_NUMBER_HEX|PERF_DISPLAY_NO_SUFFIX) 00061 #define PERF_SAMPLE_FRACTION (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DELTA_COUNTER|PERF_DELTA_BASE|PERF_DISPLAY_PERCENT) 00062 #define PERF_SAMPLE_COUNTER (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_NO_SUFFIX) 00063 #define PERF_COUNTER_NODATA (PERF_SIZE_ZERO|PERF_DISPLAY_NOSHOW) 00064 #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) 00065 #define PERF_SAMPLE_BASE (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_DISPLAY_NOSHOW|1) 00066 #define PERF_AVERAGE_TIMER (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DISPLAY_SECONDS) 00067 #define PERF_AVERAGE_BASE (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_DISPLAY_NOSHOW|2) 00068 #define PERF_AVERAGE_BULK (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DISPLAY_NOSHOW) 00069 #define PERF_100NSEC_TIMER (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_100NS|PERF_DELTA_COUNTER|PERF_DISPLAY_PERCENT) 00070 #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) 00071 #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) 00072 #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) 00073 #define PERF_COUNTER_MULTI_BASE (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_MULTI_COUNTER|PERF_DISPLAY_NOSHOW) 00074 #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) 00075 #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) 00076 #define PERF_RAW_FRACTION (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DISPLAY_PERCENT) 00077 #define PERF_RAW_BASE (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_DISPLAY_NOSHOW|3) 00078 #define PERF_ELAPSED_TIME (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_ELAPSED|PERF_OBJECT_TIMER|PERF_DISPLAY_SECONDS) 00079 typedef struct _PERF_DATA_BLOCK { 00080 WCHAR Signature[4]; 00081 DWORD LittleEndian; 00082 DWORD Version; 00083 DWORD Revision; 00084 DWORD TotalByteLength; 00085 DWORD HeaderLength; 00086 DWORD NumObjectTypes; 00087 LONG DefaultObject; 00088 SYSTEMTIME SystemTime; 00089 LARGE_INTEGER PerfTime; 00090 LARGE_INTEGER PerfFreq; 00091 LARGE_INTEGER PerfTime100nSec; 00092 DWORD SystemNameLength; 00093 DWORD SystemNameOffset; 00094 } PERF_DATA_BLOCK, *PPERF_DATA_BLOCK; 00095 typedef struct _PERF_OBJECT_TYPE { 00096 DWORD TotalByteLength; 00097 DWORD DefinitionLength; 00098 DWORD HeaderLength; 00099 DWORD ObjectNameTitleIndex; 00100 LPWSTR ObjectNameTitle; 00101 DWORD ObjectHelpTitleIndex; 00102 LPWSTR ObjectHelpTitle; 00103 DWORD DetailLevel; 00104 DWORD NumCounters; 00105 LONG DefaultCounter; 00106 LONG NumInstances; 00107 DWORD CodePage; 00108 LARGE_INTEGER PerfTime; 00109 LARGE_INTEGER PerfFreq; 00110 } PERF_OBJECT_TYPE, *PPERF_OBJECT_TYPE; 00111 typedef struct _PERF_COUNTER_DEFINITION { 00112 DWORD ByteLength; 00113 DWORD CounterNameTitleIndex; 00114 LPWSTR CounterNameTitle; 00115 DWORD CounterHelpTitleIndex; 00116 LPWSTR CounterHelpTitle; 00117 LONG DefaultScale; 00118 DWORD DetailLevel; 00119 DWORD CounterType; 00120 DWORD CounterSize; 00121 DWORD CounterOffset; 00122 } PERF_COUNTER_DEFINITION,*PPERF_COUNTER_DEFINITION; 00123 typedef struct _PERF_INSTANCE_DEFINITION { 00124 DWORD ByteLength; 00125 DWORD ParentObjectTitleIndex; 00126 DWORD ParentObjectInstance; 00127 LONG UniqueID; 00128 DWORD NameOffset; 00129 DWORD NameLength; 00130 } PERF_INSTANCE_DEFINITION,*PPERF_INSTANCE_DEFINITION; 00131 typedef struct _PERF_COUNTER_BLOCK { 00132 DWORD ByteLength; 00133 } PERF_COUNTER_BLOCK, *PPERF_COUNTER_BLOCK; 00134 typedef DWORD(CALLBACK PM_OPEN_PROC)(LPWSTR); 00135 typedef DWORD(CALLBACK PM_COLLECT_PROC)(LPWSTR,PVOID*,PDWORD,PDWORD); 00136 typedef DWORD(CALLBACK PM_CLOSE_PROC)(void); 00137 #ifdef _MSC_VER 00138 #pragma warning(pop) 00139 #endif 00140 #ifdef __cplusplus 00141 } 00142 #endif 00143 #endif Generated on Sat May 26 2012 04:31:38 for ReactOS by
1.7.6.1
|