| 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 |
| 14 | extern "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) |
| 558 | PDH_FUNCTION PdhAddEnglishCounterW(PDH_HQUERY hQuery,LPCWSTR szFullCounterPath,DWORD_PTR dwUserData,PDH_HCOUNTER *phCounter); |
| 559 | PDH_FUNCTION PdhAddEnglishCounterA(PDH_HQUERY hQuery,LPCSTR szFullCounterPath,DWORD_PTR dwUserData,PDH_HCOUNTER *phCounter); |
| 560 | |
| 561 | #define PdhAddEnglishCounter __MINGW_NAME_AW(PdhAddEnglishCounter) |
| 562 | |
| 563 | PDH_FUNCTION PdhCollectQueryDataWithTime(PDH_HQUERY hQuery,LONGLONG *pllTimeStamp); |
| 564 | |
| 565 | PDH_FUNCTION PdhValidatePathExW(PDH_HLOG hDataSource,LPCWSTR szFullPathBuffer); |
| 566 | PDH_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 |