source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/pdh.h@ 1180

Last change on this file since 1180 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 26.5 KB
Line 
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 _PDH_H_
7#define _PDH_H_
8
9#include <_mingw_unicode.h>
10#include <windows.h>
11#include <winperf.h>
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17 typedef LONG PDH_STATUS;
18
19#define PDH_FUNCTION PDH_STATUS WINAPI
20
21#define PDH_CVERSION_WIN40 ((DWORD)(0x0400))
22#define PDH_CVERSION_WIN50 ((DWORD)(0x0500))
23
24#define PDH_VERSION ((DWORD)((PDH_CVERSION_WIN50) + 0x0003))
25
26#define IsSuccessSeverity(ErrorCode) ((!((DWORD)(ErrorCode) & 0xC0000000)) ? TRUE : FALSE)
27#define IsInformationalSeverity(ErrorCode) ((((DWORD)(ErrorCode) & 0xC0000000)==(DWORD)0x40000000) ? TRUE : FALSE)
28#define IsWarningSeverity(ErrorCode) ((((DWORD)(ErrorCode) & 0xC0000000)==(DWORD)0x80000000) ? TRUE : FALSE)
29#define IsErrorSeverity(ErrorCode) ((((DWORD)(ErrorCode) & 0xC0000000)==(DWORD)0xC0000000) ? TRUE : FALSE)
30
31#define MAX_COUNTER_PATH 256
32
33#define PDH_MAX_COUNTER_NAME 1024
34#define PDH_MAX_INSTANCE_NAME 1024
35#define PDH_MAX_COUNTER_PATH 2048
36#define PDH_MAX_DATASOURCE_PATH 1024
37
38 typedef HANDLE PDH_HCOUNTER;
39 typedef HANDLE PDH_HQUERY;
40 typedef HANDLE PDH_HLOG;
41
42 typedef PDH_HCOUNTER HCOUNTER;
43 typedef PDH_HQUERY HQUERY;
44#ifndef _LMHLOGDEFINED_
45 typedef PDH_HLOG HLOG;
46#endif
47
48#ifdef INVALID_HANDLE_VALUE
49#undef INVALID_HANDLE_VALUE
50#define INVALID_HANDLE_VALUE ((HANDLE)((LONG_PTR)-1))
51#endif
52
53#define H_REALTIME_DATASOURCE NULL
54#define H_WBEM_DATASOURCE INVALID_HANDLE_VALUE
55
56 typedef struct _PDH_RAW_COUNTER {
57 DWORD CStatus;
58 FILETIME TimeStamp;
59 LONGLONG FirstValue;
60 LONGLONG SecondValue;
61 DWORD MultiCount;
62 } PDH_RAW_COUNTER,*PPDH_RAW_COUNTER;
63
64 typedef struct _PDH_RAW_COUNTER_ITEM_A {
65 LPSTR szName;
66 PDH_RAW_COUNTER RawValue;
67 } PDH_RAW_COUNTER_ITEM_A,*PPDH_RAW_COUNTER_ITEM_A;
68
69 typedef struct _PDH_RAW_COUNTER_ITEM_W {
70 LPWSTR szName;
71 PDH_RAW_COUNTER RawValue;
72 } PDH_RAW_COUNTER_ITEM_W,*PPDH_RAW_COUNTER_ITEM_W;
73
74 typedef struct _PDH_FMT_COUNTERVALUE {
75 DWORD CStatus;
76 __C89_NAMELESS union {
77 LONG longValue;
78 double doubleValue;
79 LONGLONG largeValue;
80 LPCSTR AnsiStringValue;
81 LPCWSTR WideStringValue;
82 };
83 } PDH_FMT_COUNTERVALUE,*PPDH_FMT_COUNTERVALUE;
84
85 typedef struct _PDH_FMT_COUNTERVALUE_ITEM_A {
86 LPSTR szName;
87 PDH_FMT_COUNTERVALUE FmtValue;
88 } PDH_FMT_COUNTERVALUE_ITEM_A,*PPDH_FMT_COUNTERVALUE_ITEM_A;
89
90 typedef struct _PDH_FMT_COUNTERVALUE_ITEM_W {
91 LPWSTR szName;
92 PDH_FMT_COUNTERVALUE FmtValue;
93 } PDH_FMT_COUNTERVALUE_ITEM_W,*PPDH_FMT_COUNTERVALUE_ITEM_W;
94
95 typedef struct _PDH_STATISTICS {
96 DWORD dwFormat;
97 DWORD count;
98 PDH_FMT_COUNTERVALUE min;
99 PDH_FMT_COUNTERVALUE max;
100 PDH_FMT_COUNTERVALUE mean;
101 } PDH_STATISTICS,*PPDH_STATISTICS;
102
103 typedef struct _PDH_COUNTER_PATH_ELEMENTS_A {
104 LPSTR szMachineName;
105 LPSTR szObjectName;
106 LPSTR szInstanceName;
107 LPSTR szParentInstance;
108 DWORD dwInstanceIndex;
109 LPSTR szCounterName;
110 } PDH_COUNTER_PATH_ELEMENTS_A,*PPDH_COUNTER_PATH_ELEMENTS_A;
111
112 typedef struct _PDH_COUNTER_PATH_ELEMENTS_W {
113 LPWSTR szMachineName;
114 LPWSTR szObjectName;
115 LPWSTR szInstanceName;
116 LPWSTR szParentInstance;
117 DWORD dwInstanceIndex;
118 LPWSTR szCounterName;
119 } PDH_COUNTER_PATH_ELEMENTS_W,*PPDH_COUNTER_PATH_ELEMENTS_W;
120
121 typedef struct _PDH_DATA_ITEM_PATH_ELEMENTS_A {
122 LPSTR szMachineName;
123 GUID ObjectGUID;
124 DWORD dwItemId;
125 LPSTR szInstanceName;
126 } PDH_DATA_ITEM_PATH_ELEMENTS_A,*PPDH_DATA_ITEM_PATH_ELEMENTS_A;
127
128 typedef struct _PDH_DATA_ITEM_PATH_ELEMENTS_W {
129 LPWSTR szMachineName;
130 GUID ObjectGUID;
131 DWORD dwItemId;
132 LPWSTR szInstanceName;
133 } PDH_DATA_ITEM_PATH_ELEMENTS_W,*PPDH_DATA_ITEM_PATH_ELEMENTS_W;
134
135 typedef struct _PDH_COUNTER_INFO_A {
136 DWORD dwLength;
137 DWORD dwType;
138 DWORD CVersion;
139 DWORD CStatus;
140 LONG lScale;
141 LONG lDefaultScale;
142 DWORD_PTR dwUserData;
143 DWORD_PTR dwQueryUserData;
144 LPSTR szFullPath;
145 __C89_NAMELESS union {
146 PDH_DATA_ITEM_PATH_ELEMENTS_A DataItemPath;
147 PDH_COUNTER_PATH_ELEMENTS_A CounterPath;
148 __C89_NAMELESS struct {
149 LPSTR szMachineName;
150 LPSTR szObjectName;
151 LPSTR szInstanceName;
152 LPSTR szParentInstance;
153 DWORD dwInstanceIndex;
154 LPSTR szCounterName;
155 };
156 };
157 LPSTR szExplainText;
158 DWORD DataBuffer[1];
159 } PDH_COUNTER_INFO_A,*PPDH_COUNTER_INFO_A;
160
161 typedef struct _PDH_COUNTER_INFO_W {
162 DWORD dwLength;
163 DWORD dwType;
164 DWORD CVersion;
165 DWORD CStatus;
166 LONG lScale;
167 LONG lDefaultScale;
168 DWORD_PTR dwUserData;
169 DWORD_PTR dwQueryUserData;
170 LPWSTR szFullPath;
171 __C89_NAMELESS union {
172 PDH_DATA_ITEM_PATH_ELEMENTS_W DataItemPath;
173 PDH_COUNTER_PATH_ELEMENTS_W CounterPath;
174 __C89_NAMELESS struct {
175 LPWSTR szMachineName;
176 LPWSTR szObjectName;
177 LPWSTR szInstanceName;
178 LPWSTR szParentInstance;
179 DWORD dwInstanceIndex;
180 LPWSTR szCounterName;
181 };
182 };
183 LPWSTR szExplainText;
184 DWORD DataBuffer[1];
185 } PDH_COUNTER_INFO_W,*PPDH_COUNTER_INFO_W;
186
187 typedef struct _PDH_TIME_INFO {
188 LONGLONG StartTime;
189 LONGLONG EndTime;
190 DWORD SampleCount;
191 } PDH_TIME_INFO,*PPDH_TIME_INFO;
192
193 typedef struct _PDH_RAW_LOG_RECORD {
194 DWORD dwStructureSize;
195 DWORD dwRecordType;
196 DWORD dwItems;
197 UCHAR RawBytes[1];
198 } PDH_RAW_LOG_RECORD,*PPDH_RAW_LOG_RECORD;
199
200 typedef struct _PDH_LOG_SERVICE_QUERY_INFO_A {
201 DWORD dwSize;
202 DWORD dwFlags;
203 DWORD dwLogQuota;
204 LPSTR szLogFileCaption;
205 LPSTR szDefaultDir;
206 LPSTR szBaseFileName;
207 DWORD dwFileType;
208 DWORD dwReserved;
209 __C89_NAMELESS union {
210 __C89_NAMELESS struct {
211 DWORD PdlAutoNameInterval;
212 DWORD PdlAutoNameUnits;
213 LPSTR PdlCommandFilename;
214 LPSTR PdlCounterList;
215 DWORD PdlAutoNameFormat;
216 DWORD PdlSampleInterval;
217 FILETIME PdlLogStartTime;
218 FILETIME PdlLogEndTime;
219 };
220 __C89_NAMELESS struct {
221 DWORD TlNumberOfBuffers;
222 DWORD TlMinimumBuffers;
223 DWORD TlMaximumBuffers;
224 DWORD TlFreeBuffers;
225 DWORD TlBufferSize;
226 DWORD TlEventsLost;
227 DWORD TlLoggerThreadId;
228 DWORD TlBuffersWritten;
229 DWORD TlLogHandle;
230 LPSTR TlLogFileName;
231 };
232 };
233 } PDH_LOG_SERVICE_QUERY_INFO_A,*PPDH_LOG_SERVICE_QUERY_INFO_A;
234
235 typedef struct _PDH_LOG_SERVICE_QUERY_INFO_W {
236 DWORD dwSize;
237 DWORD dwFlags;
238 DWORD dwLogQuota;
239 LPWSTR szLogFileCaption;
240 LPWSTR szDefaultDir;
241 LPWSTR szBaseFileName;
242 DWORD dwFileType;
243 DWORD dwReserved;
244 __C89_NAMELESS union {
245 __C89_NAMELESS struct {
246 DWORD PdlAutoNameInterval;
247 DWORD PdlAutoNameUnits;
248 LPWSTR PdlCommandFilename;
249 LPWSTR PdlCounterList;
250 DWORD PdlAutoNameFormat;
251 DWORD PdlSampleInterval;
252 FILETIME PdlLogStartTime;
253 FILETIME PdlLogEndTime;
254 };
255 __C89_NAMELESS struct {
256 DWORD TlNumberOfBuffers;
257 DWORD TlMinimumBuffers;
258 DWORD TlMaximumBuffers;
259 DWORD TlFreeBuffers;
260 DWORD TlBufferSize;
261 DWORD TlEventsLost;
262 DWORD TlLoggerThreadId;
263 DWORD TlBuffersWritten;
264 DWORD TlLogHandle;
265 LPWSTR TlLogFileName;
266 };
267 };
268 } PDH_LOG_SERVICE_QUERY_INFO_W,*PPDH_LOG_SERVICE_QUERY_INFO_W;
269
270#define MAX_TIME_VALUE ((LONGLONG) 0x7FFFFFFFFFFFFFFF)
271#define MIN_TIME_VALUE ((LONGLONG) 0)
272
273 PDH_FUNCTION PdhGetDllVersion(LPDWORD lpdwVersion);
274 PDH_FUNCTION PdhOpenQueryW(LPCWSTR szDataSource,DWORD_PTR dwUserData,PDH_HQUERY *phQuery);
275 PDH_FUNCTION PdhOpenQueryA(LPCSTR szDataSource,DWORD_PTR dwUserData,PDH_HQUERY *phQuery);
276 PDH_FUNCTION PdhAddCounterW(PDH_HQUERY hQuery,LPCWSTR szFullCounterPath,DWORD_PTR dwUserData,PDH_HCOUNTER *phCounter);
277 PDH_FUNCTION PdhAddCounterA(PDH_HQUERY hQuery,LPCSTR szFullCounterPath,DWORD_PTR dwUserData,PDH_HCOUNTER *phCounter);
278 PDH_FUNCTION PdhRemoveCounter(PDH_HCOUNTER hCounter);
279 PDH_FUNCTION PdhCollectQueryData(PDH_HQUERY hQuery);
280 PDH_FUNCTION PdhCloseQuery(PDH_HQUERY hQuery);
281 PDH_FUNCTION PdhGetFormattedCounterValue(PDH_HCOUNTER hCounter,DWORD dwFormat,LPDWORD lpdwType,PPDH_FMT_COUNTERVALUE pValue);
282 PDH_FUNCTION PdhGetFormattedCounterArrayA(PDH_HCOUNTER hCounter,DWORD dwFormat,LPDWORD lpdwBufferSize,LPDWORD lpdwItemCount,PPDH_FMT_COUNTERVALUE_ITEM_A ItemBuffer);
283 PDH_FUNCTION PdhGetFormattedCounterArrayW(PDH_HCOUNTER hCounter,DWORD dwFormat,LPDWORD lpdwBufferSize,LPDWORD lpdwItemCount,PPDH_FMT_COUNTERVALUE_ITEM_W ItemBuffer);
284
285#define PDH_FMT_RAW ((DWORD) 0x00000010)
286#define PDH_FMT_ANSI ((DWORD) 0x00000020)
287#define PDH_FMT_UNICODE ((DWORD) 0x00000040)
288#define PDH_FMT_LONG ((DWORD) 0x00000100)
289#define PDH_FMT_DOUBLE ((DWORD) 0x00000200)
290#define PDH_FMT_LARGE ((DWORD) 0x00000400)
291#define PDH_FMT_NOSCALE ((DWORD) 0x00001000)
292#define PDH_FMT_1000 ((DWORD) 0x00002000)
293#define PDH_FMT_NODATA ((DWORD) 0x00004000)
294#define PDH_FMT_NOCAP100 ((DWORD) 0x00008000)
295#define PERF_DETAIL_COSTLY ((DWORD) 0x00010000)
296#define PERF_DETAIL_STANDARD ((DWORD) 0x0000FFFF)
297
298 PDH_FUNCTION PdhGetRawCounterValue(PDH_HCOUNTER hCounter,LPDWORD lpdwType,PPDH_RAW_COUNTER pValue);
299 PDH_FUNCTION PdhGetRawCounterArrayA(PDH_HCOUNTER hCounter,LPDWORD lpdwBufferSize,LPDWORD lpdwItemCount,PPDH_RAW_COUNTER_ITEM_A ItemBuffer);
300 PDH_FUNCTION PdhGetRawCounterArrayW(PDH_HCOUNTER hCounter,LPDWORD lpdwBufferSize,LPDWORD lpdwItemCount,PPDH_RAW_COUNTER_ITEM_W ItemBuffer);
301 PDH_FUNCTION PdhCalculateCounterFromRawValue(PDH_HCOUNTER hCounter,DWORD dwFormat,PPDH_RAW_COUNTER rawValue1,PPDH_RAW_COUNTER rawValue2,PPDH_FMT_COUNTERVALUE fmtValue);
302 PDH_FUNCTION PdhComputeCounterStatistics(PDH_HCOUNTER hCounter,DWORD dwFormat,DWORD dwFirstEntry,DWORD dwNumEntries,PPDH_RAW_COUNTER lpRawValueArray,PPDH_STATISTICS data);
303 PDH_FUNCTION PdhGetCounterInfoW(PDH_HCOUNTER hCounter,BOOLEAN bRetrieveExplainText,LPDWORD pdwBufferSize,PPDH_COUNTER_INFO_W lpBuffer);
304 PDH_FUNCTION PdhGetCounterInfoA(PDH_HCOUNTER hCounter,BOOLEAN bRetrieveExplainText,LPDWORD pdwBufferSize,PPDH_COUNTER_INFO_A lpBuffer);
305
306#define PDH_MAX_SCALE (__MSABI_LONG(7))
307#define PDH_MIN_SCALE (__MSABI_LONG(-7))
308
309 PDH_FUNCTION PdhSetCounterScaleFactor(PDH_HCOUNTER hCounter,LONG lFactor);
310 PDH_FUNCTION PdhConnectMachineW(LPCWSTR szMachineName);
311 PDH_FUNCTION PdhConnectMachineA(LPCSTR szMachineName);
312 PDH_FUNCTION PdhEnumMachinesW(LPCWSTR szDataSource,LPWSTR mszMachineList,LPDWORD pcchBufferSize);
313 PDH_FUNCTION PdhEnumMachinesA(LPCSTR szDataSource,LPSTR mszMachineList,LPDWORD pcchBufferSize);
314 PDH_FUNCTION PdhEnumObjectsW(LPCWSTR szDataSource,LPCWSTR szMachineName,LPWSTR mszObjectList,LPDWORD pcchBufferSize,DWORD dwDetailLevel,WINBOOL bRefresh);
315 PDH_FUNCTION PdhEnumObjectsA(LPCSTR szDataSource,LPCSTR szMachineName,LPSTR mszObjectList,LPDWORD pcchBufferSize,DWORD dwDetailLevel,WINBOOL bRefresh);
316 PDH_FUNCTION PdhEnumObjectItemsW(LPCWSTR szDataSource,LPCWSTR szMachineName,LPCWSTR szObjectName,LPWSTR mszCounterList,LPDWORD pcchCounterListLength,LPWSTR mszInstanceList,LPDWORD pcchInstanceListLength,DWORD dwDetailLevel,DWORD dwFlags);
317 PDH_FUNCTION PdhEnumObjectItemsA(LPCSTR szDataSource,LPCSTR szMachineName,LPCSTR szObjectName,LPSTR mszCounterList,LPDWORD pcchCounterListLength,LPSTR mszInstanceList,LPDWORD pcchInstanceListLength,DWORD dwDetailLevel,DWORD dwFlags);
318
319#define PDH_OBJECT_HAS_INSTANCES ((DWORD) 0x00000001)
320
321 PDH_FUNCTION PdhMakeCounterPathW(PPDH_COUNTER_PATH_ELEMENTS_W pCounterPathElements,LPWSTR szFullPathBuffer,LPDWORD pcchBufferSize,DWORD dwFlags);
322 PDH_FUNCTION PdhMakeCounterPathA(PPDH_COUNTER_PATH_ELEMENTS_A pCounterPathElements,LPSTR szFullPathBuffer,LPDWORD pcchBufferSize,DWORD dwFlags);
323 PDH_FUNCTION PdhParseCounterPathW(LPCWSTR szFullPathBuffer,PPDH_COUNTER_PATH_ELEMENTS_W pCounterPathElements,LPDWORD pdwBufferSize,DWORD dwFlags);
324 PDH_FUNCTION PdhParseCounterPathA(LPCSTR szFullPathBuffer,PPDH_COUNTER_PATH_ELEMENTS_A pCounterPathElements,LPDWORD pdwBufferSize,DWORD dwFlags);
325
326#define PDH_PATH_WBEM_RESULT ((DWORD) 0x00000001)
327#define PDH_PATH_WBEM_INPUT ((DWORD) 0x00000002)
328
329#define PDH_PATH_LANG_FLAGS(LangId,Flags) ((DWORD)(((LangId & 0x0000FFFF) << 16) | (Flags & 0x0000FFFF)))
330
331 PDH_FUNCTION PdhParseInstanceNameW(LPCWSTR szInstanceString,LPWSTR szInstanceName,LPDWORD pcchInstanceNameLength,LPWSTR szParentName,LPDWORD pcchParentNameLength,LPDWORD lpIndex);
332 PDH_FUNCTION PdhParseInstanceNameA(LPCSTR szInstanceString,LPSTR szInstanceName,LPDWORD pcchInstanceNameLength,LPSTR szParentName,LPDWORD pcchParentNameLength,LPDWORD lpIndex);
333 PDH_FUNCTION PdhValidatePathW(LPCWSTR szFullPathBuffer);
334 PDH_FUNCTION PdhValidatePathA(LPCSTR szFullPathBuffer);
335 PDH_FUNCTION PdhGetDefaultPerfObjectW(LPCWSTR szDataSource,LPCWSTR szMachineName,LPWSTR szDefaultObjectName,LPDWORD pcchBufferSize);
336 PDH_FUNCTION PdhGetDefaultPerfObjectA(LPCSTR szDataSource,LPCSTR szMachineName,LPSTR szDefaultObjectName,LPDWORD pcchBufferSize);
337 PDH_FUNCTION PdhGetDefaultPerfCounterW(LPCWSTR szDataSource,LPCWSTR szMachineName,LPCWSTR szObjectName,LPWSTR szDefaultCounterName,LPDWORD pcchBufferSize);
338 PDH_FUNCTION PdhGetDefaultPerfCounterA(LPCSTR szDataSource,LPCSTR szMachineName,LPCSTR szObjectName,LPSTR szDefaultCounterName,LPDWORD pcchBufferSize);
339
340 typedef PDH_STATUS (WINAPI *CounterPathCallBack)(DWORD_PTR);
341
342 typedef struct _BrowseDlgConfig_HW {
343 DWORD bIncludeInstanceIndex : 1,bSingleCounterPerAdd : 1,bSingleCounterPerDialog : 1,bLocalCountersOnly : 1,bWildCardInstances : 1,bHideDetailBox : 1,bInitializePath : 1,bDisableMachineSelection : 1,bIncludeCostlyObjects : 1,bShowObjectBrowser : 1,bReserved : 22;
344 HWND hWndOwner;
345 PDH_HLOG hDataSource;
346 LPWSTR szReturnPathBuffer;
347 DWORD cchReturnPathLength;
348 CounterPathCallBack pCallBack;
349 DWORD_PTR dwCallBackArg;
350 PDH_STATUS CallBackStatus;
351 DWORD dwDefaultDetailLevel;
352 LPWSTR szDialogBoxCaption;
353 } PDH_BROWSE_DLG_CONFIG_HW,*PPDH_BROWSE_DLG_CONFIG_HW;
354
355 typedef struct _BrowseDlgConfig_HA {
356 DWORD bIncludeInstanceIndex : 1,bSingleCounterPerAdd : 1,bSingleCounterPerDialog : 1,bLocalCountersOnly : 1,bWildCardInstances : 1,bHideDetailBox : 1,bInitializePath : 1,bDisableMachineSelection : 1,bIncludeCostlyObjects : 1,bShowObjectBrowser : 1,bReserved:22;
357 HWND hWndOwner;
358 PDH_HLOG hDataSource;
359 LPSTR szReturnPathBuffer;
360 DWORD cchReturnPathLength;
361 CounterPathCallBack pCallBack;
362 DWORD_PTR dwCallBackArg;
363 PDH_STATUS CallBackStatus;
364 DWORD dwDefaultDetailLevel;
365 LPSTR szDialogBoxCaption;
366 } PDH_BROWSE_DLG_CONFIG_HA,*PPDH_BROWSE_DLG_CONFIG_HA;
367
368 typedef struct _BrowseDlgConfig_W {
369 DWORD bIncludeInstanceIndex : 1,bSingleCounterPerAdd : 1,bSingleCounterPerDialog : 1,bLocalCountersOnly : 1,bWildCardInstances : 1,bHideDetailBox : 1,bInitializePath : 1,bDisableMachineSelection : 1,bIncludeCostlyObjects : 1,bShowObjectBrowser : 1,bReserved:22;
370 HWND hWndOwner;
371 LPWSTR szDataSource;
372 LPWSTR szReturnPathBuffer;
373 DWORD cchReturnPathLength;
374 CounterPathCallBack pCallBack;
375 DWORD_PTR dwCallBackArg;
376 PDH_STATUS CallBackStatus;
377 DWORD dwDefaultDetailLevel;
378 LPWSTR szDialogBoxCaption;
379 } PDH_BROWSE_DLG_CONFIG_W,*PPDH_BROWSE_DLG_CONFIG_W;
380
381 typedef struct _BrowseDlgConfig_A {
382 DWORD bIncludeInstanceIndex : 1,bSingleCounterPerAdd : 1,bSingleCounterPerDialog : 1,bLocalCountersOnly : 1,bWildCardInstances : 1,bHideDetailBox : 1,bInitializePath : 1,bDisableMachineSelection : 1,bIncludeCostlyObjects : 1,bShowObjectBrowser : 1,bReserved:22;
383 HWND hWndOwner;
384 LPSTR szDataSource;
385 LPSTR szReturnPathBuffer;
386 DWORD cchReturnPathLength;
387 CounterPathCallBack pCallBack;
388 DWORD_PTR dwCallBackArg;
389 PDH_STATUS CallBackStatus;
390 DWORD dwDefaultDetailLevel;
391 LPSTR szDialogBoxCaption;
392 } PDH_BROWSE_DLG_CONFIG_A,*PPDH_BROWSE_DLG_CONFIG_A;
393
394 PDH_FUNCTION PdhBrowseCountersW(PPDH_BROWSE_DLG_CONFIG_W pBrowseDlgData);
395 PDH_FUNCTION PdhBrowseCountersA(PPDH_BROWSE_DLG_CONFIG_A pBrowseDlgData);
396 PDH_FUNCTION PdhExpandCounterPathW(LPCWSTR szWildCardPath,LPWSTR mszExpandedPathList,LPDWORD pcchPathListLength);
397 PDH_FUNCTION PdhExpandCounterPathA(LPCSTR szWildCardPath,LPSTR mszExpandedPathList,LPDWORD pcchPathListLength);
398 PDH_FUNCTION PdhLookupPerfNameByIndexW(LPCWSTR szMachineName,DWORD dwNameIndex,LPWSTR szNameBuffer,LPDWORD pcchNameBufferSize);
399 PDH_FUNCTION PdhLookupPerfNameByIndexA(LPCSTR szMachineName,DWORD dwNameIndex,LPSTR szNameBuffer,LPDWORD pcchNameBufferSize);
400 PDH_FUNCTION PdhLookupPerfIndexByNameW(LPCWSTR szMachineName,LPCWSTR szNameBuffer,LPDWORD pdwIndex);
401 PDH_FUNCTION PdhLookupPerfIndexByNameA(LPCSTR szMachineName,LPCSTR szNameBuffer,LPDWORD pdwIndex);
402
403#define PDH_NOEXPANDCOUNTERS 1
404#define PDH_NOEXPANDINSTANCES 2
405#define PDH_REFRESHCOUNTERS 4
406
407 PDH_FUNCTION PdhExpandWildCardPathA(LPCSTR szDataSource,LPCSTR szWildCardPath,LPSTR mszExpandedPathList,LPDWORD pcchPathListLength,DWORD dwFlags);
408 PDH_FUNCTION PdhExpandWildCardPathW(LPCWSTR szDataSource,LPCWSTR szWildCardPath,LPWSTR mszExpandedPathList,LPDWORD pcchPathListLength,DWORD dwFlags);
409
410#define PDH_LOG_READ_ACCESS ((DWORD) 0x00010000)
411#define PDH_LOG_WRITE_ACCESS ((DWORD) 0x00020000)
412#define PDH_LOG_UPDATE_ACCESS ((DWORD) 0x00040000)
413#define PDH_LOG_ACCESS_MASK ((DWORD) 0x000F0000)
414
415#define PDH_LOG_CREATE_NEW ((DWORD) 0x00000001)
416#define PDH_LOG_CREATE_ALWAYS ((DWORD) 0x00000002)
417#define PDH_LOG_OPEN_ALWAYS ((DWORD) 0x00000003)
418#define PDH_LOG_OPEN_EXISTING ((DWORD) 0x00000004)
419#define PDH_LOG_CREATE_MASK ((DWORD) 0x0000000F)
420
421#define PDH_LOG_OPT_USER_STRING ((DWORD) 0x01000000)
422#define PDH_LOG_OPT_CIRCULAR ((DWORD) 0x02000000)
423#define PDH_LOG_OPT_MAX_IS_BYTES ((DWORD) 0x04000000)
424#define PDH_LOG_OPT_APPEND ((DWORD) 0x08000000)
425#define PDH_LOG_OPT_MASK ((DWORD) 0x0F000000)
426
427#define PDH_LOG_TYPE_UNDEFINED 0
428#define PDH_LOG_TYPE_CSV 1
429#define PDH_LOG_TYPE_TSV 2
430
431#define PDH_LOG_TYPE_TRACE_KERNEL 4
432#define PDH_LOG_TYPE_TRACE_GENERIC 5
433#define PDH_LOG_TYPE_PERFMON 6
434#define PDH_LOG_TYPE_SQL 7
435#define PDH_LOG_TYPE_BINARY 8
436
437 PDH_FUNCTION PdhOpenLogW(LPCWSTR szLogFileName,DWORD dwAccessFlags,LPDWORD lpdwLogType,PDH_HQUERY hQuery,DWORD dwMaxSize,LPCWSTR szUserCaption,PDH_HLOG *phLog);
438 PDH_FUNCTION PdhOpenLogA(LPCSTR szLogFileName,DWORD dwAccessFlags,LPDWORD lpdwLogType,PDH_HQUERY hQuery,DWORD dwMaxSize,LPCSTR szUserCaption,PDH_HLOG *phLog);
439 PDH_FUNCTION PdhUpdateLogW(PDH_HLOG hLog,LPCWSTR szUserString);
440 PDH_FUNCTION PdhUpdateLogA(PDH_HLOG hLog,LPCSTR szUserString);
441 PDH_FUNCTION PdhUpdateLogFileCatalog(PDH_HLOG hLog);
442 PDH_FUNCTION PdhGetLogFileSize(PDH_HLOG hLog,LONGLONG *llSize);
443 PDH_FUNCTION PdhCloseLog(PDH_HLOG hLog,DWORD dwFlags);
444
445#define PDH_FLAGS_CLOSE_QUERY ((DWORD) 0x00000001)
446#define PDH_FLAGS_FILE_BROWSER_ONLY ((DWORD) 0x00000001)
447
448 PDH_FUNCTION PdhSelectDataSourceW(HWND hWndOwner,DWORD dwFlags,LPWSTR szDataSource,LPDWORD pcchBufferLength);
449 PDH_FUNCTION PdhSelectDataSourceA(HWND hWndOwner,DWORD dwFlags,LPSTR szDataSource,LPDWORD pcchBufferLength);
450 WINBOOL PdhIsRealTimeQuery(PDH_HQUERY hQuery);
451 PDH_FUNCTION PdhSetQueryTimeRange(PDH_HQUERY hQuery,PPDH_TIME_INFO pInfo);
452 PDH_FUNCTION PdhGetDataSourceTimeRangeW(LPCWSTR szDataSource,LPDWORD pdwNumEntries,PPDH_TIME_INFO pInfo,LPDWORD pdwBufferSize);
453 PDH_FUNCTION PdhGetDataSourceTimeRangeA(LPCSTR szDataSource,LPDWORD pdwNumEntries,PPDH_TIME_INFO pInfo,LPDWORD dwBufferSize);
454 PDH_FUNCTION PdhCollectQueryDataEx(PDH_HQUERY hQuery,DWORD dwIntervalTime,HANDLE hNewDataEvent);
455 PDH_FUNCTION PdhFormatFromRawValue(DWORD dwCounterType,DWORD dwFormat,LONGLONG *pTimeBase,PPDH_RAW_COUNTER pRawValue1,PPDH_RAW_COUNTER pRawValue2,PPDH_FMT_COUNTERVALUE pFmtValue);
456 PDH_FUNCTION PdhGetCounterTimeBase(PDH_HCOUNTER hCounter,LONGLONG *pTimeBase);
457 PDH_FUNCTION PdhReadRawLogRecord(PDH_HLOG hLog,FILETIME ftRecord,PPDH_RAW_LOG_RECORD pRawLogRecord,LPDWORD pdwBufferLength);
458
459#define DATA_SOURCE_REGISTRY ((DWORD) 0x00000001)
460#define DATA_SOURCE_LOGFILE ((DWORD) 0x00000002)
461#define DATA_SOURCE_WBEM ((DWORD) 0x00000004)
462
463 PDH_FUNCTION PdhSetDefaultRealTimeDataSource(DWORD dwDataSourceId);
464 PDH_FUNCTION PdhBindInputDataSourceW(PDH_HLOG *phDataSource,LPCWSTR LogFileNameList);
465 PDH_FUNCTION PdhBindInputDataSourceA(PDH_HLOG *phDataSource,LPCSTR LogFileNameList);
466 PDH_FUNCTION PdhOpenQueryH(PDH_HLOG hDataSource,DWORD_PTR dwUserData,PDH_HQUERY *phQuery);
467 PDH_FUNCTION PdhEnumMachinesHW(PDH_HLOG hDataSource,LPWSTR mszMachineList,LPDWORD pcchBufferSize);
468 PDH_FUNCTION PdhEnumMachinesHA(PDH_HLOG hDataSource,LPSTR mszMachineList,LPDWORD pcchBufferSize);
469 PDH_FUNCTION PdhEnumObjectsHW(PDH_HLOG hDataSource,LPCWSTR szMachineName,LPWSTR mszObjectList,LPDWORD pcchBufferSize,DWORD dwDetailLevel,WINBOOL bRefresh);
470 PDH_FUNCTION PdhEnumObjectsHA(PDH_HLOG hDataSource,LPCSTR szMachineName,LPSTR mszObjectList,LPDWORD pcchBufferSize,DWORD dwDetailLevel,WINBOOL bRefresh);
471 PDH_FUNCTION PdhEnumObjectItemsHW(PDH_HLOG hDataSource,LPCWSTR szMachineName,LPCWSTR szObjectName,LPWSTR mszCounterList,LPDWORD pcchCounterListLength,LPWSTR mszInstanceList,LPDWORD pcchInstanceListLength,DWORD dwDetailLevel,DWORD dwFlags);
472 PDH_FUNCTION PdhEnumObjectItemsHA(PDH_HLOG hDataSource,LPCSTR szMachineName,LPCSTR szObjectName,LPSTR mszCounterList,LPDWORD pcchCounterListLength,LPSTR mszInstanceList,LPDWORD pcchInstanceListLength,DWORD dwDetailLevel,DWORD dwFlags);
473 PDH_FUNCTION PdhExpandWildCardPathHW(PDH_HLOG hDataSource,LPCWSTR szWildCardPath,LPWSTR mszExpandedPathList,LPDWORD pcchPathListLength,DWORD dwFlags);
474 PDH_FUNCTION PdhExpandWildCardPathHA(PDH_HLOG hDataSource,LPCSTR szWildCardPath,LPSTR mszExpandedPathList,LPDWORD pcchPathListLength,DWORD dwFlags);
475 PDH_FUNCTION PdhGetDataSourceTimeRangeH(PDH_HLOG hDataSource,LPDWORD pdwNumEntries,PPDH_TIME_INFO pInfo,LPDWORD pdwBufferSize);
476 PDH_FUNCTION PdhGetDefaultPerfObjectHW(PDH_HLOG hDataSource,LPCWSTR szMachineName,LPWSTR szDefaultObjectName,LPDWORD pcchBufferSize);
477 PDH_FUNCTION PdhGetDefaultPerfObjectHA(PDH_HLOG hDataSource,LPCSTR szMachineName,LPSTR szDefaultObjectName,LPDWORD pcchBufferSize);
478 PDH_FUNCTION PdhGetDefaultPerfCounterHW(PDH_HLOG hDataSource,LPCWSTR szMachineName,LPCWSTR szObjectName,LPWSTR szDefaultCounterName,LPDWORD pcchBufferSize);
479 PDH_FUNCTION PdhGetDefaultPerfCounterHA(PDH_HLOG hDataSource,LPCSTR szMachineName,LPCSTR szObjectName,LPSTR szDefaultCounterName,LPDWORD pcchBufferSize);
480 PDH_FUNCTION PdhBrowseCountersHW(PPDH_BROWSE_DLG_CONFIG_HW pBrowseDlgData);
481 PDH_FUNCTION PdhBrowseCountersHA(PPDH_BROWSE_DLG_CONFIG_HA pBrowseDlgData);
482 PDH_FUNCTION PdhVerifySQLDBW(LPCWSTR szDataSource);
483 PDH_FUNCTION PdhVerifySQLDBA(LPCSTR szDataSource);
484 PDH_FUNCTION PdhCreateSQLTablesW(LPCWSTR szDataSource);
485 PDH_FUNCTION PdhCreateSQLTablesA(LPCSTR szDataSource);
486 PDH_FUNCTION PdhEnumLogSetNamesW(LPCWSTR szDataSource,LPWSTR mszDataSetNameList,LPDWORD pcchBufferLength);
487 PDH_FUNCTION PdhEnumLogSetNamesA(LPCSTR szDataSource,LPSTR mszDataSetNameList,LPDWORD pcchBufferLength);
488 PDH_FUNCTION PdhGetLogSetGUID(PDH_HLOG hLog,GUID *pGuid,int *pRunId);
489 PDH_FUNCTION PdhSetLogSetRunID(PDH_HLOG hLog,int RunId);
490
491#if defined(UNICODE)
492#ifndef _UNICODE
493#define _UNICODE
494#endif
495#endif
496
497#if defined(_UNICODE)
498#if !defined(UNICODE)
499#define UNICODE
500#endif
501#endif
502
503#define PDH_COUNTER_INFO __MINGW_NAME_UAW(PDH_COUNTER_INFO)
504#define PPDH_COUNTER_INFO __MINGW_NAME_UAW(PPDH_COUNTER_INFO)
505#define PDH_COUNTER_PATH_ELEMENTS __MINGW_NAME_UAW(PDH_COUNTER_PATH_ELEMENTS)
506#define PPDH_COUNTER_PATH_ELEMENTS __MINGW_NAME_UAW(PPDH_COUNTER_PATH_ELEMENTS)
507#define PDH_BROWSE_DLG_CONFIG __MINGW_NAME_UAW(PDH_BROWSE_DLG_CONFIG)
508#define PPDH_BROWSE_DLG_CONFIG __MINGW_NAME_UAW(PPDH_BROWSE_DLG_CONFIG)
509#define PDH_FMT_COUNTERVALUE_ITEM __MINGW_NAME_UAW(PDH_FMT_COUNTERVALUE_ITEM)
510#define PPDH_FMT_COUNTERVALUE_ITEM __MINGW_NAME_UAW(PPDH_FMT_COUNTERVALUE_ITEM)
511#define PDH_RAW_COUNTER_ITEM __MINGW_NAME_UAW(PDH_RAW_COUNTER_ITEM)
512#define PPDH_RAW_COUNTER_ITEM __MINGW_NAME_UAW(PPDH_RAW_COUNTER_ITEM)
513#define PDH_LOG_SERVICE_QUERY_INFO __MINGW_NAME_UAW(PDH_LOG_SERVICE_QUERY_INFO)
514#define PPDH_LOG_SERVICE_QUERY_INFO __MINGW_NAME_UAW(PPDH_LOG_SERVICE_QUERY_INFO)
515
516#define PDH_BROWSE_DLG_CONFIG_H __MINGW_NAME_AW(PDH_BROWSE_DLG_CONFIG_H)
517#define PPDH_BROWSE_DLG_CONFIG_H __MINGW_NAME_AW(PPDH_BROWSE_DLG_CONFIG_H)
518
519#define PdhOpenQuery __MINGW_NAME_AW(PdhOpenQuery)
520#define PdhAddCounter __MINGW_NAME_AW(PdhAddCounter)
521#define PdhGetCounterInfo __MINGW_NAME_AW(PdhGetCounterInfo)
522#define PdhConnectMachine __MINGW_NAME_AW(PdhConnectMachine)
523#define PdhEnumMachines __MINGW_NAME_AW(PdhEnumMachines)
524#define PdhEnumObjects __MINGW_NAME_AW(PdhEnumObjects)
525#define PdhEnumObjectItems __MINGW_NAME_AW(PdhEnumObjectItems)
526#define PdhMakeCounterPath __MINGW_NAME_AW(PdhMakeCounterPath)
527#define PdhParseCounterPath __MINGW_NAME_AW(PdhParseCounterPath)
528#define PdhParseInstanceName __MINGW_NAME_AW(PdhParseInstanceName)
529#define PdhValidatePath __MINGW_NAME_AW(PdhValidatePath)
530#define PdhGetDefaultPerfObject __MINGW_NAME_AW(PdhGetDefaultPerfObject)
531#define PdhGetDefaultPerfCounter __MINGW_NAME_AW(PdhGetDefaultPerfCounter)
532#define PdhBrowseCounters __MINGW_NAME_AW(PdhBrowseCounters)
533#define PdhBrowseCountersH __MINGW_NAME_AW(PdhBrowseCountersH)
534#define PdhExpandCounterPath __MINGW_NAME_AW(PdhExpandCounterPath)
535#define PdhGetFormattedCounterArray __MINGW_NAME_AW(PdhGetFormattedCounterArray)
536#define PdhGetRawCounterArray __MINGW_NAME_AW(PdhGetRawCounterArray)
537#define PdhLookupPerfNameByIndex __MINGW_NAME_AW(PdhLookupPerfNameByIndex)
538#define PdhLookupPerfIndexByName __MINGW_NAME_AW(PdhLookupPerfIndexByName)
539#define PdhOpenLog __MINGW_NAME_AW(PdhOpenLog)
540#define PdhUpdateLog __MINGW_NAME_AW(PdhUpdateLog)
541#define PdhSelectDataSource __MINGW_NAME_AW(PdhSelectDataSource)
542#define PdhGetDataSourceTimeRange __MINGW_NAME_AW(PdhGetDataSourceTimeRange)
543#define PdhLogServiceControl __MINGW_NAME_AW(PdhLogServiceControl)
544#define PdhLogServiceQuery __MINGW_NAME_AW(PdhLogServiceQuery)
545#define PdhExpandWildCardPath __MINGW_NAME_AW(PdhExpandWildCardPath)
546#define PdhBindInputDataSource __MINGW_NAME_AW(PdhBindInputDataSource)
547#define PdhEnumMachinesH __MINGW_NAME_AW(PdhEnumMachinesH)
548#define PdhEnumObjectsH __MINGW_NAME_AW(PdhEnumObjectsH)
549#define PdhEnumObjectItemsH __MINGW_NAME_AW(PdhEnumObjectItemsH)
550#define PdhExpandWildCardPathH __MINGW_NAME_AW(PdhExpandWildCardPathH)
551#define PdhGetDefaultPerfObjectH __MINGW_NAME_AW(PdhGetDefaultPerfObjectH)
552#define PdhGetDefaultPerfCounterH __MINGW_NAME_AW(PdhGetDefaultPerfCounterH)
553#define PdhEnumLogSetNames __MINGW_NAME_AW(PdhEnumLogSetNames)
554#define PdhCreateSQLTables __MINGW_NAME_AW(PdhCreateSQLTables)
555#define PdhVerifySQLDB __MINGW_NAME_AW(PdhVerifySQLDB)
556
557#if (_WIN32_WINNT >= 0x0600)
558PDH_FUNCTION PdhAddEnglishCounterW(PDH_HQUERY hQuery,LPCWSTR szFullCounterPath,DWORD_PTR dwUserData,PDH_HCOUNTER *phCounter);
559PDH_FUNCTION PdhAddEnglishCounterA(PDH_HQUERY hQuery,LPCSTR szFullCounterPath,DWORD_PTR dwUserData,PDH_HCOUNTER *phCounter);
560
561#define PdhAddEnglishCounter __MINGW_NAME_AW(PdhAddEnglishCounter)
562
563PDH_FUNCTION PdhCollectQueryDataWithTime(PDH_HQUERY hQuery,LONGLONG *pllTimeStamp);
564
565PDH_FUNCTION PdhValidatePathExW(PDH_HLOG hDataSource,LPCWSTR szFullPathBuffer);
566PDH_FUNCTION PdhValidatePathExA(PDH_HLOG hDataSource,LPCSTR szFullPathBuffer);
567
568#define PdhValidatePathEx __MINGW_NAME_AW(PdhValidatePathEx)
569
570#endif /*(_WIN32_WINNT >= 0x0600)*/
571
572#ifdef __cplusplus
573}
574#endif
575#endif
Note: See TracBrowser for help on using the repository browser.