1 // Licensed under the Apache License, Version 2.0
2 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4 // All files in the project carrying such notice may not be copied, modified, or distributed
5 // except according to those terms.
6 //! Common Performance Data Helper definitions
8 use shared
::basetsd
::DWORD_PTR
;
9 use shared
::guiddef
::GUID
;
10 use shared
::minwindef
::{BOOL, DWORD, FILETIME, LPDWORD, UCHAR}
;
11 use shared
::windef
::HWND
;
12 use um
::winnt
::{BOOLEAN, HANDLE, LONG, LONGLONG, LPCSTR, LPCWSTR, LPSTR, LPWSTR}
;
13 pub const PDH_FMT_RAW
: DWORD
= 0x00000010;
14 pub const PDH_FMT_ANSI
: DWORD
= 0x00000020;
15 pub const PDH_FMT_UNICODE
: DWORD
= 0x00000040;
16 pub const PDH_FMT_LONG
: DWORD
= 0x00000100;
17 pub const PDH_FMT_DOUBLE
: DWORD
= 0x00000200;
18 pub const PDH_FMT_LARGE
: DWORD
= 0x00000400;
19 pub const PDH_FMT_NOSCALE
: DWORD
= 0x00001000;
20 pub const PDH_FMT_1000
: DWORD
= 0x00002000;
21 pub const PDH_FMT_NODATA
: DWORD
= 0x00004000;
22 pub const PDH_FMT_NOCAP100
: DWORD
= 0x00008000;
23 pub const PERF_DETAIL_COSTLY
: DWORD
= 0x00010000;
24 pub const PERF_DETAIL_STANDARD
: DWORD
= 0x0000FFFF;
25 pub type PDH_STATUS
= LONG
;
26 pub type PDH_HQUERY
= HANDLE
;
27 pub type HQUERY
= PDH_HQUERY
;
28 pub type PDH_HCOUNTER
= HANDLE
;
29 pub type HCOUNTER
= PDH_HCOUNTER
;
30 pub type PPDH_BROWSE_DLG_CONFIG_A
= *mut PDH_BROWSE_DLG_CONFIG_A
;
31 pub type PPDH_BROWSE_DLG_CONFIG_W
= *mut PDH_BROWSE_DLG_CONFIG_W
;
32 pub type PDH_HLOG
= HANDLE
;
33 pub type PPDH_RAW_LOG_RECORD
= *mut PDH_RAW_LOG_RECORD
;
34 pub type PPDH_TIME_INFO
= *mut PDH_TIME_INFO
;
35 pub type PPDH_RAW_COUNTER
= *mut PDH_RAW_COUNTER
;
36 pub type PPDH_COUNTER_INFO_A
= *mut PDH_COUNTER_INFO_A
;
37 pub type PPDH_COUNTER_INFO_W
= *mut PDH_COUNTER_INFO_W
;
38 pub type PPDH_STATISTICS
= *mut PDH_STATISTICS
;
39 pub type PPDH_FMT_COUNTERVALUE_ITEM_A
= *mut PDH_FMT_COUNTERVALUE_ITEM_A
;
40 pub type PPDH_FMT_COUNTERVALUE_ITEM_W
= *mut PDH_FMT_COUNTERVALUE_ITEM_W
;
41 pub type PPDH_DATA_ITEM_PATH_ELEMENTS_A
= *mut PDH_DATA_ITEM_PATH_ELEMENTS_A
;
42 pub type PPDH_DATA_ITEM_PATH_ELEMENTS_W
= *mut PDH_DATA_ITEM_PATH_ELEMENTS_W
;
43 pub type PPDH_FMT_COUNTERVALUE
= *mut PDH_FMT_COUNTERVALUE
;
44 FN
!{stdcall
CounterPathCallBack(
47 pub type PPDH_COUNTER_PATH_ELEMENTS_A
= *mut PDH_COUNTER_PATH_ELEMENTS_A
;
48 pub type PPDH_COUNTER_PATH_ELEMENTS_W
= *mut PDH_COUNTER_PATH_ELEMENTS_W
;
49 pub type PPDH_BROWSE_DLG_CONFIG_HA
= *mut PDH_BROWSE_DLG_CONFIG_HA
;
50 pub type PPDH_BROWSE_DLG_CONFIG_HW
= *mut PDH_BROWSE_DLG_CONFIG_HW
;
51 UNION
!{union PDH_FMT_COUNTERVALUE_u
{
53 longValue longValue_mut
: LONG
,
54 doubleValue doubleValue_mut
: c_double
,
55 largeValue largeValue_mut
: LONGLONG
,
56 AnsiStringValue AnsiStringValue_mut
: LPCSTR
,
57 WideStringValue WideStringValue_mut
: LPCWSTR
,
59 STRUCT
!{struct PDH_FMT_COUNTERVALUE
{
61 u
: PDH_FMT_COUNTERVALUE_u
,
63 STRUCT
!{struct PDH_RAW_LOG_RECORD
{
64 dwStructureSize
: DWORD
,
69 STRUCT
!{struct PDH_TIME_INFO
{
74 STRUCT
!{struct PDH_RAW_COUNTER
{
78 SecondValue
: LONGLONG
,
81 STRUCT
!{struct PDH_STATISTICS
{
84 min
: PDH_FMT_COUNTERVALUE
,
85 max
: PDH_FMT_COUNTERVALUE
,
86 mean
: PDH_FMT_COUNTERVALUE
,
88 STRUCT
!{struct PDH_FMT_COUNTERVALUE_ITEM_A
{
90 FmtValue
: PDH_FMT_COUNTERVALUE
,
92 STRUCT
!{struct PDH_FMT_COUNTERVALUE_ITEM_W
{
94 FmtValue
: PDH_FMT_COUNTERVALUE
,
96 STRUCT
!{struct PDH_BROWSE_DLG_CONFIG_A
{
100 szReturnPathBuffer
: LPSTR
,
101 cchReturnPathLength
: DWORD
,
102 pCallBack
: CounterPathCallBack
,
103 dwCallBackArg
: DWORD_PTR
,
104 CallBackStatus
: PDH_STATUS
,
105 dwDefaultDetailLevel
: DWORD
,
106 szDialogBoxCaption
: LPSTR
,
108 BITFIELD
!{PDH_BROWSE_DLG_CONFIG_A flags
: DWORD
[
109 IncludeInstanceIndex set_IncludeInstanceIndex
[0..1],
110 SingleCounterPerAdd set_SingleCounterPerAdd
[1..2],
111 SingleCounterPerDialog set_SingleCounterPerDialog
[2..3],
112 LocalCountersOnly set_LocalCountersOnly
[3..4],
113 WildCardInstances set_WildCardInstances
[4..5],
114 HideDetailBox set_HideDetailBox
[5..6],
115 InitializePath set_InitializePath
[6..7],
116 DisableMachineSelection set_DisableMachineSelection
[7..8],
117 IncludeCostlyObjects set_IncludeCostlyObjects
[8..9],
118 ShowObjectBrowser set_ShowObjectBrowser
[9..10],
120 STRUCT
!{struct PDH_BROWSE_DLG_CONFIG_W
{
123 szDataSource
: LPWSTR
,
124 szReturnPathBuffer
: LPWSTR
,
125 cchReturnPathLength
: DWORD
,
126 pCallBack
: CounterPathCallBack
,
127 dwCallBackArg
: DWORD_PTR
,
128 CallBackStatus
: PDH_STATUS
,
129 dwDefaultDetailLevel
: DWORD
,
130 szDialogBoxCaption
: LPWSTR
,
132 BITFIELD
!{PDH_BROWSE_DLG_CONFIG_W flags
: DWORD
[
133 IncludeInstanceIndex set_IncludeInstanceIndex
[0..1],
134 SingleCounterPerAdd set_SingleCounterPerAdd
[1..2],
135 SingleCounterPerDialog set_SingleCounterPerDialog
[2..3],
136 LocalCountersOnly set_LocalCountersOnly
[3..4],
137 WildCardInstances set_WildCardInstances
[4..5],
138 HideDetailBox set_HideDetailBox
[5..6],
139 InitializePath set_InitializePath
[6..7],
140 DisableMachineSelection set_DisableMachineSelection
[7..8],
141 IncludeCostlyObjects set_IncludeCostlyObjects
[8..9],
142 ShowObjectBrowser set_ShowObjectBrowser
[9..10],
144 STRUCT
!{struct PDH_COUNTER_PATH_ELEMENTS_A
{
145 szMachineName
: LPSTR
,
147 szInstanceName
: LPSTR
,
148 szParentInstance
: LPSTR
,
149 dwInstanceIndex
: DWORD
,
150 szCounterName
: LPSTR
,
152 STRUCT
!{struct PDH_COUNTER_PATH_ELEMENTS_W
{
153 szMachineName
: LPWSTR
,
154 szObjectName
: LPWSTR
,
155 szInstanceName
: LPWSTR
,
156 szParentInstance
: LPWSTR
,
157 dwInstanceIndex
: DWORD
,
158 szCounterName
: LPWSTR
,
160 STRUCT
!{struct PDH_DATA_ITEM_PATH_ELEMENTS_A
{
161 szMachineName
: LPSTR
,
164 szInstanceName
: LPSTR
,
166 STRUCT
!{struct PDH_DATA_ITEM_PATH_ELEMENTS_W
{
167 szMachineName
: LPWSTR
,
170 szInstanceName
: LPWSTR
,
172 STRUCT
!{struct PDH_COUNTER_INFO_A_u_s
{
173 szMachineName
: LPSTR
,
175 szInstanceName
: LPSTR
,
176 szParentInstance
: LPSTR
,
177 dwInstanceIndex
: DWORD
,
178 szCounterName
: LPSTR
,
180 UNION
!{union PDH_COUNTER_INFO_A_u
{
182 DataItemPath DataItemPath_mut
: PDH_DATA_ITEM_PATH_ELEMENTS_A
,
183 CounterPath CounterPath_mut
: PDH_COUNTER_PATH_ELEMENTS_A
,
184 s s_mut
: PDH_COUNTER_INFO_A_u_s
,
186 STRUCT
!{struct PDH_COUNTER_INFO_A
{
193 dwUserData
: DWORD_PTR
,
194 dwQueryUserData
: DWORD_PTR
,
196 u
: PDH_COUNTER_INFO_A_u
,
197 szExplainText
: LPSTR
,
198 DataBuffer
: [DWORD
; 1],
200 STRUCT
!{struct PDH_COUNTER_INFO_W_u_s
{
201 szMachineName
: LPWSTR
,
202 szObjectName
: LPWSTR
,
203 szInstanceName
: LPWSTR
,
204 szParentInstance
: LPWSTR
,
205 dwInstanceIndex
: DWORD
,
206 szCounterName
: LPWSTR
,
208 UNION
!{union PDH_COUNTER_INFO_W_u
{
210 DataItemPath DataItemPath_mut
: PDH_DATA_ITEM_PATH_ELEMENTS_W
,
211 CounterPath CounterPath_mut
: PDH_COUNTER_PATH_ELEMENTS_W
,
212 s s_mut
: PDH_COUNTER_INFO_W_u_s
,
214 STRUCT
!{struct PDH_COUNTER_INFO_W
{
221 dwUserData
: DWORD_PTR
,
222 dwQueryUserData
: DWORD_PTR
,
224 u
: PDH_COUNTER_INFO_W_u
,
225 szExplainText
: LPWSTR
,
226 DataBuffer
: [DWORD
; 1],
228 STRUCT
!{struct PDH_BROWSE_DLG_CONFIG_HA
{
231 hDataSource
: PDH_HLOG
,
232 szReturnPathBuffer
: LPSTR
,
233 cchReturnPathLength
: DWORD
,
234 pCallBack
: CounterPathCallBack
,
235 dwCallBackArg
: DWORD_PTR
,
236 CallBackStatus
: PDH_STATUS
,
237 dwDefaultDetailLevel
: DWORD
,
238 szDialogBoxCaption
: LPSTR
,
240 BITFIELD
!{PDH_BROWSE_DLG_CONFIG_HA flags
: DWORD
[
241 IncludeInstanceIndex set_IncludeInstanceIndex
[0..1],
242 SingleCounterPerAdd set_SingleCounterPerAdd
[1..2],
243 SingleCounterPerDialog set_SingleCounterPerDialog
[2..3],
244 LocalCountersOnly set_LocalCountersOnly
[3..4],
245 WildCardInstances set_WildCardInstances
[4..5],
246 HideDetailBox set_HideDetailBox
[5..6],
247 InitializePath set_InitializePath
[6..7],
248 DisableMachineSelection set_DisableMachineSelection
[7..8],
249 IncludeCostlyObjects set_IncludeCostlyObjects
[8..9],
250 ShowObjectBrowser set_ShowObjectBrowser
[9..10],
252 STRUCT
!{struct PDH_BROWSE_DLG_CONFIG_HW
{
255 hDataSource
: PDH_HLOG
,
256 szReturnPathBuffer
: LPWSTR
,
257 cchReturnPathLength
: DWORD
,
258 pCallBack
: CounterPathCallBack
,
259 dwCallBackArg
: DWORD_PTR
,
260 CallBackStatus
: PDH_STATUS
,
261 dwDefaultDetailLevel
: DWORD
,
262 szDialogBoxCaption
: LPWSTR
,
264 BITFIELD
!{PDH_BROWSE_DLG_CONFIG_HW flags
: DWORD
[
265 IncludeInstanceIndex set_IncludeInstanceIndex
[0..1],
266 SingleCounterPerAdd set_SingleCounterPerAdd
[1..2],
267 SingleCounterPerDialog set_SingleCounterPerDialog
[2..3],
268 LocalCountersOnly set_LocalCountersOnly
[3..4],
269 WildCardInstances set_WildCardInstances
[4..5],
270 HideDetailBox set_HideDetailBox
[5..6],
271 InitializePath set_InitializePath
[6..7],
272 DisableMachineSelection set_DisableMachineSelection
[7..8],
273 IncludeCostlyObjects set_IncludeCostlyObjects
[8..9],
274 ShowObjectBrowser set_ShowObjectBrowser
[9..10],
277 pub fn PdhGetDllVersion(
278 lpdwVersion
: LPDWORD
,
280 pub fn PdhOpenQueryW(
281 szDataSource
: LPCWSTR
,
282 dwUserData
: DWORD_PTR
,
283 phQuery
: *mut PDH_HQUERY
,
285 pub fn PdhOpenQueryA(
286 szDataSource
: LPCSTR
,
287 dwUserData
: DWORD_PTR
,
288 phQuery
: *mut PDH_HQUERY
,
290 pub fn PdhAddCounterW(
292 szFullCounterPath
: LPCWSTR
,
293 dwUserData
: DWORD_PTR
,
294 phCounter
: *mut PDH_HCOUNTER
,
296 pub fn PdhAddCounterA(
298 szFullCounterPath
: LPCSTR
,
299 dwUserData
: DWORD_PTR
,
300 phCounter
: *mut PDH_HCOUNTER
,
302 pub fn PdhAddEnglishCounterW(
304 szFullCounterPath
: LPCWSTR
,
305 dwUserData
: DWORD_PTR
,
306 phCounter
: *mut PDH_HCOUNTER
,
308 pub fn PdhAddEnglishCounterA(
310 szFullCounterPath
: LPCSTR
,
311 dwUserData
: DWORD_PTR
,
312 phCounter
: *mut PDH_HCOUNTER
,
314 pub fn PdhCollectQueryDataWithTime(
316 pllTimeStamp
: *mut LONGLONG
,
318 pub fn PdhValidatePathExW(
319 hDataSource
: PDH_HLOG
,
320 szFullPathBuffer
: LPCWSTR
,
322 pub fn PdhValidatePathExA(
323 hDataSource
: PDH_HLOG
,
324 szFullPathBuffer
: LPCSTR
,
326 pub fn PdhRemoveCounter(
327 hCounter
: PDH_HCOUNTER
,
329 pub fn PdhCollectQueryData(
332 pub fn PdhCloseQuery(
335 pub fn PdhGetFormattedCounterValue(
336 hCounter
: PDH_HCOUNTER
,
339 pValue
: PPDH_FMT_COUNTERVALUE
,
341 pub fn PdhGetFormattedCounterArrayA(
342 hCounter
: PDH_HCOUNTER
,
344 lpdwBufferSize
: LPDWORD
,
345 lpdwBufferCount
: LPDWORD
,
346 ItemBuffer
: PPDH_FMT_COUNTERVALUE_ITEM_A
,
348 pub fn PdhGetFormattedCounterArrayW(
349 hCounter
: PDH_HCOUNTER
,
351 lpdwBufferSize
: LPDWORD
,
352 lpdwBufferCount
: LPDWORD
,
353 ItemBuffer
: PPDH_FMT_COUNTERVALUE_ITEM_W
,
355 pub fn PdhGetRawCounterValue(
356 hCounter
: PDH_HCOUNTER
,
358 pValue
: PPDH_RAW_COUNTER
,
360 pub fn PdhGetRawCounterArrayA(
361 hCounter
: PDH_HCOUNTER
,
363 lpdwBufferSize
: LPDWORD
,
364 lpdwBufferCount
: LPDWORD
,
365 ItemBuffer
: PPDH_FMT_COUNTERVALUE_ITEM_A
,
367 pub fn PdhGetRawCounterArrayW(
368 hCounter
: PDH_HCOUNTER
,
370 lpdwBufferSize
: LPDWORD
,
371 lpdwBufferCount
: LPDWORD
,
372 ItemBuffer
: PPDH_FMT_COUNTERVALUE_ITEM_W
,
374 pub fn PdhCalculateCounterFromRawValue(
375 hCounter
: PDH_HCOUNTER
,
377 rawValue1
: PPDH_RAW_COUNTER
,
378 rawValue2
: PPDH_RAW_COUNTER
,
379 fmtValue
: PPDH_FMT_COUNTERVALUE
,
381 pub fn PdhComputeCounterStatistics(
382 hCounter
: PDH_HCOUNTER
,
386 lpRawValueArray
: PPDH_RAW_COUNTER
,
387 data
: PPDH_STATISTICS
,
389 pub fn PdhGetCounterInfoW(
390 hCounter
: PDH_HCOUNTER
,
391 bRetrieveExplainText
: BOOLEAN
,
392 pdwBufferSize
: LPDWORD
,
393 lpBuffer
: PPDH_COUNTER_INFO_W
,
395 pub fn PdhGetCounterInfoA(
396 hCounter
: PDH_HCOUNTER
,
397 bRetrieveExplainText
: BOOLEAN
,
398 pdwBufferSize
: LPDWORD
,
399 lpBuffer
: PPDH_COUNTER_INFO_A
,
401 pub fn PdhSetCounterScaleFactor(
402 hCounter
: PDH_HCOUNTER
,
405 pub fn PdhConnectMachineW(
406 szMachineName
: LPCWSTR
,
408 pub fn PdhConnectMachineA(
409 szMachineName
: LPCSTR
,
411 pub fn PdhEnumMachinesW(
412 szDataSource
: LPCWSTR
,
413 mszMachineNameList
: LPWSTR
,
414 pcchBufferLength
: LPDWORD
,
416 pub fn PdhEnumMachinesA(
417 szDataSource
: LPCSTR
,
418 mszMachineNameList
: LPSTR
,
419 pcchBufferLength
: LPDWORD
,
421 pub fn PdhEnumObjectsW(
422 szDataSource
: LPCWSTR
,
423 szMachineName
: LPCWSTR
,
424 mszObjectList
: LPWSTR
,
425 pcchBufferLength
: LPDWORD
,
426 dwDetailLevel
: DWORD
,
429 pub fn PdhEnumObjectsA(
430 szDataSource
: LPCSTR
,
431 szMachineName
: LPCSTR
,
432 mszObjectList
: LPSTR
,
433 pcchBufferLength
: LPDWORD
,
434 dwDetailLevel
: DWORD
,
437 pub fn PdhEnumObjectItemsW(
438 szDataSource
: LPCWSTR
,
439 szMachineName
: LPCWSTR
,
440 szObjectName
: LPCWSTR
,
441 mszCounterList
: LPWSTR
,
442 pcchCounterListLength
: LPDWORD
,
443 mszInstanceList
: LPWSTR
,
444 pcchInstanceListLength
: LPDWORD
,
445 dwDetailLevel
: DWORD
,
448 pub fn PdhEnumObjectItemsA(
449 szDataSource
: LPCSTR
,
450 szMachineName
: LPCSTR
,
451 szObjectName
: LPCSTR
,
452 mszCounterList
: LPSTR
,
453 pcchCounterListLength
: LPDWORD
,
454 mszInstanceList
: LPSTR
,
455 pcchInstanceListLength
: LPDWORD
,
456 dwDetailLevel
: DWORD
,
459 pub fn PdhMakeCounterPathW(
460 pCounterPathElements
: PPDH_COUNTER_PATH_ELEMENTS_W
,
461 szFullPathBuffer
: LPWSTR
,
462 pcchBufferSize
: LPDWORD
,
465 pub fn PdhMakeCounterPathA(
466 pCounterPathElements
: PPDH_COUNTER_PATH_ELEMENTS_A
,
467 szFullPathBuffer
: LPSTR
,
468 pcchBufferSize
: LPDWORD
,
471 pub fn PdhParseCounterPathW(
472 szFullPathBuffer
: LPCWSTR
,
473 pCounterPathElements
: *mut PDH_COUNTER_PATH_ELEMENTS_W
,
474 pcchBufferSize
: LPDWORD
,
477 pub fn PdhParseCounterPathA(
478 szFullPathBuffer
: LPCSTR
,
479 pCounterPathElements
: *mut PDH_COUNTER_PATH_ELEMENTS_A
,
480 pcchBufferSize
: LPDWORD
,
483 pub fn PdhParseInstanceNameW(
484 szInstanceString
: LPCWSTR
,
485 szInstanceName
: LPWSTR
,
486 pcchInstanceNameLength
: LPDWORD
,
487 szParentName
: LPWSTR
,
488 pcchParentNameLength
: LPDWORD
,
491 pub fn PdhParseInstanceNameA(
492 szInstanceString
: LPCSTR
,
493 szInstanceName
: LPSTR
,
494 pcchInstanceNameLength
: LPDWORD
,
496 pcchParentNameLength
: LPDWORD
,
499 pub fn PdhValidatePathW(
500 szFullCounterPath
: LPCWSTR
,
502 pub fn PdhValidatePathA(
503 szFullCounterPath
: LPCSTR
,
505 pub fn PdhGetDefaultPerfObjectW(
506 szDataSource
: LPCWSTR
,
507 szMachineName
: LPCWSTR
,
508 szDefaultObjectName
: LPWSTR
,
509 pcchBufferSize
: LPDWORD
,
511 pub fn PdhGetDefaultPerfObjectA(
512 szDataSource
: LPCSTR
,
513 szMachineName
: LPCSTR
,
514 szDefaultObjectName
: LPSTR
,
515 pcchBufferSize
: LPDWORD
,
517 pub fn PdhGetDefaultPerfCounterW(
518 szDataSource
: LPCWSTR
,
519 szMachineName
: LPCWSTR
,
520 szObjectName
: LPCWSTR
,
521 szDefaultCounterName
: LPWSTR
,
522 pcchBufferSize
: LPDWORD
,
524 pub fn PdhGetDefaultPerfCounterA(
525 szDataSource
: LPCSTR
,
526 szMachineName
: LPCSTR
,
527 szObjectName
: LPCSTR
,
528 szDefaultCounterName
: LPSTR
,
529 pcchBufferSize
: LPDWORD
,
531 pub fn PdhBrowseCountersW(
532 pBrowseDlgData
: PPDH_BROWSE_DLG_CONFIG_W
,
534 pub fn PdhBrowseCountersA(
535 pBrowseDlgData
: PPDH_BROWSE_DLG_CONFIG_A
,
537 pub fn PdhExpandCounterPathW(
538 szWildCardPath
: LPCWSTR
,
539 mszExpandedPathList
: LPWSTR
,
540 pcchPathListLength
: LPDWORD
,
542 pub fn PdhExpandCounterPathA(
543 szWildCardPath
: LPCSTR
,
544 mszExpandedPathList
: LPSTR
,
545 pcchPathListLength
: LPDWORD
,
547 pub fn PdhLookupPerfNameByIndexW(
548 szMachineName
: LPCWSTR
,
550 szNameBuffer
: LPWSTR
,
551 pcchNameBufferSize
: LPDWORD
,
553 pub fn PdhLookupPerfNameByIndexA(
554 szMachineName
: LPCSTR
,
557 pcchNameBufferSize
: LPDWORD
,
559 pub fn PdhLookupPerfIndexByNameW(
560 szMachineName
: LPCWSTR
,
561 szNameBuffer
: LPCWSTR
,
564 pub fn PdhLookupPerfIndexByNameA(
565 szMachineName
: LPCSTR
,
566 szNameBuffer
: LPCSTR
,
569 pub fn PdhExpandWildCardPathW(
570 szDataSource
: LPCWSTR
,
571 szWildCardPath
: LPCWSTR
,
572 mszExpandedPathList
: LPWSTR
,
573 pcchPathListLength
: LPDWORD
,
576 pub fn PdhExpandWildCardPathA(
577 szDataSource
: LPCSTR
,
578 szWildCardPath
: LPCSTR
,
579 mszExpandedPathList
: LPSTR
,
580 pcchPathListLength
: LPDWORD
,
584 szLogFileName
: LPCWSTR
,
585 dwAccessFlags
: DWORD
,
586 lpdwLogType
: LPDWORD
,
589 szUserCaption
: LPCWSTR
,
590 phLog
: *mut PDH_HLOG
,
593 szLogFileName
: LPCSTR
,
594 dwAccessFlags
: DWORD
,
595 lpdwLogType
: LPDWORD
,
598 szUserCaption
: LPCSTR
,
599 phLog
: *mut PDH_HLOG
,
601 pub fn PdhUpdateLogW(
603 szUserString
: LPCWSTR
,
605 pub fn PdhUpdateLogA(
607 szUserString
: LPCSTR
,
609 pub fn PdhUpdateLogFileCatalog(
612 pub fn PdhGetLogFileSize(
614 llSize
: *mut LONGLONG
,
620 pub fn PdhSelectDataSourceW(
623 szDataSource
: LPWSTR
,
624 pcchBufferLength
: LPDWORD
,
626 pub fn PdhSelectDataSourceA(
630 pcchBufferLength
: LPDWORD
,
632 pub fn PdhIsRealTimeQuery(
635 pub fn PdhSetQueryTimeRange(
637 pInfo
: PPDH_TIME_INFO
,
639 pub fn PdhGetDataSourceTimeRangeW(
640 szDataSource
: LPCWSTR
,
641 pdwNumEntries
: LPDWORD
,
642 pInfo
: PPDH_TIME_INFO
,
643 pdwBufferSize
: LPDWORD
,
645 pub fn PdhGetDataSourceTimeRangeA(
646 szDataSource
: LPCSTR
,
647 pdwNumEntries
: LPDWORD
,
648 pInfo
: PPDH_TIME_INFO
,
649 pdwBufferSize
: LPDWORD
,
651 pub fn PdhCollectQueryDataEx(
653 dwIntervalTime
: DWORD
,
654 hNewDataEvent
: HANDLE
,
656 pub fn PdhFormatFromRawValue(
657 dwCounterType
: DWORD
,
659 pTimeBase
: *mut LONGLONG
,
660 rawValue1
: PPDH_RAW_COUNTER
,
661 rawValue2
: PPDH_RAW_COUNTER
,
662 fmtValue
: PPDH_FMT_COUNTERVALUE
,
664 pub fn PdhGetCounterTimeBase(
665 hCounter
: PDH_HCOUNTER
,
666 pTimeBase
: *mut LONGLONG
,
668 pub fn PdhReadRawLogRecord(
671 pRawLogRecord
: PPDH_RAW_LOG_RECORD
,
672 pdwBufferLength
: LPDWORD
,
674 pub fn PdhSetDefaultRealTimeDataSource(
675 dwDataSourceId
: DWORD
,
677 pub fn PdhBindInputDataSourceW(
678 phDataSource
: *mut PDH_HLOG
,
679 szLogFileNameList
: LPCWSTR
,
681 pub fn PdhBindInputDataSourceA(
682 phDataSource
: *mut PDH_HLOG
,
683 szLogFileNameList
: LPCSTR
,
685 pub fn PdhOpenQueryH(
686 hDataSource
: PDH_HLOG
,
687 dwUserData
: DWORD_PTR
,
688 phQuery
: *mut PDH_HQUERY
,
690 pub fn PdhEnumMachinesHW(
691 hDataSource
: PDH_HLOG
,
692 mszMachineNameList
: LPWSTR
,
693 pcchBufferLength
: LPDWORD
,
695 pub fn PdhEnumMachinesHA(
696 hDataSource
: PDH_HLOG
,
697 mszMachineNameList
: LPSTR
,
698 pcchBufferLength
: LPDWORD
,
700 pub fn PdhEnumObjectsHW(
701 hDataSource
: PDH_HLOG
,
702 szMachineName
: LPCWSTR
,
703 mszObjectList
: LPWSTR
,
704 pcchBufferLength
: LPDWORD
,
705 dwDetailLevel
: DWORD
,
708 pub fn PdhEnumObjectsHA(
709 hDataSource
: PDH_HLOG
,
710 szMachineName
: LPCSTR
,
711 mszObjectList
: LPSTR
,
712 pcchBufferLength
: LPDWORD
,
713 dwDetailLevel
: DWORD
,
716 pub fn PdhEnumObjectItemsHW(
717 hDataSource
: PDH_HLOG
,
718 szMachineName
: LPCWSTR
,
719 szObjectName
: LPCWSTR
,
720 mszCounterList
: LPWSTR
,
721 pcchCounterListLength
: LPDWORD
,
722 mszInstanceList
: LPWSTR
,
723 pcchInstanceListLength
: LPDWORD
,
724 dwDetailLevel
: DWORD
,
727 pub fn PdhEnumObjectItemsHA(
728 hDataSource
: PDH_HLOG
,
729 szMachineName
: LPCSTR
,
730 szObjectName
: LPCSTR
,
731 mszCounterList
: LPSTR
,
732 pcchCounterListLength
: LPDWORD
,
733 mszInstanceList
: LPSTR
,
734 pcchInstanceListLength
: LPDWORD
,
735 dwDetailLevel
: DWORD
,
738 pub fn PdhExpandWildCardPathHW(
739 hDataSource
: PDH_HLOG
,
740 szWildCardPath
: LPCWSTR
,
741 mszExpandedPathList
: LPWSTR
,
742 pcchPathListLength
: LPDWORD
,
745 pub fn PdhExpandWildCardPathHA(
746 hDataSource
: PDH_HLOG
,
747 szWildCardPath
: LPCSTR
,
748 mszExpandedPathList
: LPSTR
,
749 pcchPathListLength
: LPDWORD
,
752 pub fn PdhGetDataSourceTimeRangeH(
753 hDataSource
: PDH_HLOG
,
754 pdwNumEntries
: LPDWORD
,
755 pInfo
: PPDH_TIME_INFO
,
756 pdwBufferSize
: LPDWORD
,
758 pub fn PdhGetDefaultPerfObjectHW(
759 hDataSource
: PDH_HLOG
,
760 szMachineName
: LPCWSTR
,
761 szDefaultObjectName
: LPWSTR
,
762 pcchBufferSize
: LPDWORD
,
764 pub fn PdhGetDefaultPerfObjectHA(
765 hDataSource
: PDH_HLOG
,
766 szMachineName
: LPCSTR
,
767 szDefaultObjectName
: LPSTR
,
768 pcchBufferSize
: LPDWORD
,
770 pub fn PdhGetDefaultPerfCounterHW(
771 hDataSource
: PDH_HLOG
,
772 szMachineName
: LPCWSTR
,
773 szObjectName
: LPCWSTR
,
774 szDefaultCounterName
: LPWSTR
,
775 pcchBufferSize
: LPDWORD
,
777 pub fn PdhGetDefaultPerfCounterHA(
778 hDataSource
: PDH_HLOG
,
779 szMachineName
: LPCSTR
,
780 szObjectName
: LPCSTR
,
781 szDefaultCounterName
: LPSTR
,
782 pcchBufferSize
: LPDWORD
,
784 pub fn PdhBrowseCountersHW(
785 pBrowseDlgData
: PPDH_BROWSE_DLG_CONFIG_HW
,
787 pub fn PdhBrowseCountersHA(
788 pBrowseDlgData
: PPDH_BROWSE_DLG_CONFIG_HA
,
790 pub fn PdhEnumLogSetNamesW(
791 szDataSource
: LPCWSTR
,
792 mszLogSetNameList
: LPWSTR
,
793 pcchBufferLength
: LPDWORD
,
795 pub fn PdhEnumLogSetNamesA(
796 szDataSource
: LPCSTR
,
797 mszLogSetNameList
: LPSTR
,
798 pcchBufferLength
: LPDWORD
,
801 // pub fn PdhVerifySQLDBW() -> PDH_STATUS;
802 // pub fn PdhVerifySQLDBA() -> PDH_STATUS;
803 // pub fn PdhCreateSQLTablesW() -> PDH_STATUS;
804 // pub fn PdhCreateSQLTablesA() -> PDH_STATUS;
805 //pub fn PdhGetLogSetGUID() -> PDH_STATUS;
806 // pub fn PdhSetLogSetRunID() -> PDH_STATUS;