ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/perflib.h
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
Content type: text/x-chdr
File size: 3750 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
1 /**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6 #ifndef _INC_PERFLIB
7 #define _INC_PERFLIB
8 #if (_WIN32_WINNT >= 0x0600)
9
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13
14 #include <apisetcconv.h>
15
16 typedef LPVOID (CALLBACK *PERF_MEM_ALLOC)(SIZE_T AllocSize,LPVOID pContext);
17 typedef ULONG (WINAPI *PERFLIBREQUEST)(ULONG RequestCode,PVOID Buffer,ULONG BufferSize);
18 typedef void (CALLBACK *PERF_MEM_FREE)(LPVOID pBuffer,LPVOID pContext);
19
20 typedef struct _PERF_PROVIDER_CONTEXT {
21 DWORD ContextSize;
22 DWORD Reserved;
23 PERFLIBREQUEST ControlCallback;
24 PERF_MEM_ALLOC MemAllocRoutine;
25 PERF_MEM_FREE MemFreeRoutine;
26 LPVOID pMemContext;
27 } PERF_PROVIDER_CONTEXT, *PPERF_PROVIDER_CONTEXT;
28
29 typedef struct _PERF_COUNTER_IDENTITY {
30 GUID CounterSetGuid;
31 ULONG BufferSize;
32 ULONG CounterId;
33 ULONG InstanceId;
34 ULONG MachineOffset;
35 ULONG NameOffset;
36 ULONG Reserved;
37 } PERF_COUNTER_IDENTITY, *PPERF_COUNTER_IDENTITY;
38
39 typedef struct _PERF_COUNTER_INFO {
40 ULONG CounterId;
41 ULONG Type;
42 ULONGLONG Attrib;
43 ULONG Size;
44 ULONG DetailLevel;
45 LONG Scale;
46 ULONG Offset;
47 } PERF_COUNTER_INFO, *PPERF_COUNTER_INFO;
48
49 typedef struct _PERF_COUNTERSET_INFO {
50 GUID CounterSetGuid;
51 GUID ProviderGuid;
52 ULONG NumCounters;
53 ULONG InstanceType;
54 } PERF_COUNTERSET_INFO, *PPERF_COUNTERSET_INFO;
55
56 typedef struct _PERF_COUNTERSET_INSTANCE {
57 GUID CounterSetGuid;
58 ULONG dwSize;
59 ULONG InstanceId;
60 ULONG InstanceNameOffset;
61 ULONG InstanceNameSize;
62 } PERF_COUNTERSET_INSTANCE, *PPERF_COUNTERSET_INSTANCE;
63
64 WINADVAPI PPERF_COUNTERSET_INSTANCE WINAPI PerfCreateInstance(
65 HANDLE hProvider,
66 LPCGUID CounterSetGuid,
67 LPCWSTR szInstanceName,
68 ULONG dwInstance
69 );
70
71 WINADVAPI ULONG WINAPI PerfDecrementULongCounterValue(
72 HANDLE hProvider,
73 PPERF_COUNTERSET_INSTANCE pInstance,
74 ULONG CounterId,
75 ULONG lValue
76 );
77
78 WINADVAPI ULONG WINAPI PerfDecrementULongLongCounterValue(
79 HANDLE hProvider,
80 PPERF_COUNTERSET_INSTANCE pInstance,
81 ULONG CounterId,
82 ULONGLONG llValue
83 );
84
85 WINADVAPI ULONG WINAPI PerfDeleteInstance(
86 HANDLE hProvider,
87 PPERF_COUNTERSET_INSTANCE InstanceBlock
88 );
89
90 WINADVAPI ULONG WINAPI PerfIncrementULongCounterValue(
91 HANDLE hProvider,
92 PPERF_COUNTERSET_INSTANCE pInstance,
93 ULONG CounterId,
94 ULONG lValue
95 );
96
97 WINADVAPI ULONG WINAPI PerfIncrementULongLongCounterValue(
98 HANDLE hProvider,
99 PPERF_COUNTERSET_INSTANCE pInstance,
100 ULONG CounterId,
101 ULONGLONG llValue
102 );
103
104 WINADVAPI PPERF_COUNTERSET_INSTANCE WINAPI PerfQueryInstance(
105 HANDLE hProvider,
106 LPCGUID CounterSetGuid,
107 LPCWSTR szInstance,
108 ULONG dwInstance
109 );
110
111 WINADVAPI ULONG WINAPI PerfSetCounterRefValue(
112 HANDLE hProvider,
113 PPERF_COUNTERSET_INSTANCE pInstance,
114 ULONG CounterId,
115 PVOID lpAddr
116 );
117
118 WINADVAPI ULONG WINAPI PerfSetCounterSetInfo(
119 HANDLE hProvider,
120 PPERF_COUNTERSET_INFO pTemplate,
121 ULONG dwTemplateSize
122 );
123
124 WINADVAPI ULONG WINAPI PerfSetULongCounterValue(
125 HANDLE hProvider,
126 PPERF_COUNTERSET_INSTANCE pInstance,
127 ULONG CounterId,
128 ULONG lValue
129 );
130
131 WINADVAPI ULONG WINAPI PerfSetULongLongCounterValue(
132 HANDLE hProvider,
133 PPERF_COUNTERSET_INSTANCE pInstance,
134 ULONG CounterId,
135 ULONGLONG llValue
136 );
137
138 WINADVAPI ULONG WINAPI PerfStartProvider(
139 LPGUID ProviderGuid,
140 PERFLIBREQUEST ControlCallback,
141 HANDLE *phProvider
142 );
143
144 WINADVAPI ULONG WINAPI PerfStartProviderEx(
145 LPGUID ProviderGuid,
146 PPERF_PROVIDER_CONTEXT ProviderContext,
147 HANDLE *phProvider
148 );
149
150 WINADVAPI ULONG WINAPI PerfStopProvider(
151 HANDLE hProvider
152 );
153
154 #ifdef __cplusplus
155 }
156 #endif
157
158 #endif /*(_WIN32_WINNT >= 0x0600)*/
159 #endif /*_INC_PERFLIB*/