summaryrefslogtreecommitdiff
path: root/vendor/winapi/src/um/pdh.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/winapi/src/um/pdh.rs')
-rw-r--r--vendor/winapi/src/um/pdh.rs806
1 files changed, 806 insertions, 0 deletions
diff --git a/vendor/winapi/src/um/pdh.rs b/vendor/winapi/src/um/pdh.rs
new file mode 100644
index 0000000..9ef4ee7
--- /dev/null
+++ b/vendor/winapi/src/um/pdh.rs
@@ -0,0 +1,806 @@
+// Licensed under the Apache License, Version 2.0
+// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
+// All files in the project carrying such notice may not be copied, modified, or distributed
+// except according to those terms.
+//! Common Performance Data Helper definitions
+use ctypes::c_double;
+use shared::basetsd::DWORD_PTR;
+use shared::guiddef::GUID;
+use shared::minwindef::{BOOL, DWORD, FILETIME, LPDWORD, UCHAR};
+use shared::windef::HWND;
+use um::winnt::{BOOLEAN, HANDLE, LONG, LONGLONG, LPCSTR, LPCWSTR, LPSTR, LPWSTR};
+pub const PDH_FMT_RAW: DWORD = 0x00000010;
+pub const PDH_FMT_ANSI: DWORD = 0x00000020;
+pub const PDH_FMT_UNICODE: DWORD = 0x00000040;
+pub const PDH_FMT_LONG: DWORD = 0x00000100;
+pub const PDH_FMT_DOUBLE: DWORD = 0x00000200;
+pub const PDH_FMT_LARGE: DWORD = 0x00000400;
+pub const PDH_FMT_NOSCALE: DWORD = 0x00001000;
+pub const PDH_FMT_1000: DWORD = 0x00002000;
+pub const PDH_FMT_NODATA: DWORD = 0x00004000;
+pub const PDH_FMT_NOCAP100: DWORD = 0x00008000;
+pub const PERF_DETAIL_COSTLY: DWORD = 0x00010000;
+pub const PERF_DETAIL_STANDARD: DWORD = 0x0000FFFF;
+pub type PDH_STATUS = LONG;
+pub type PDH_HQUERY = HANDLE;
+pub type HQUERY = PDH_HQUERY;
+pub type PDH_HCOUNTER = HANDLE;
+pub type HCOUNTER = PDH_HCOUNTER;
+pub type PPDH_BROWSE_DLG_CONFIG_A = *mut PDH_BROWSE_DLG_CONFIG_A;
+pub type PPDH_BROWSE_DLG_CONFIG_W = *mut PDH_BROWSE_DLG_CONFIG_W;
+pub type PDH_HLOG = HANDLE;
+pub type PPDH_RAW_LOG_RECORD = *mut PDH_RAW_LOG_RECORD;
+pub type PPDH_TIME_INFO = *mut PDH_TIME_INFO;
+pub type PPDH_RAW_COUNTER = *mut PDH_RAW_COUNTER;
+pub type PPDH_COUNTER_INFO_A = *mut PDH_COUNTER_INFO_A;
+pub type PPDH_COUNTER_INFO_W = *mut PDH_COUNTER_INFO_W;
+pub type PPDH_STATISTICS = *mut PDH_STATISTICS;
+pub type PPDH_FMT_COUNTERVALUE_ITEM_A = *mut PDH_FMT_COUNTERVALUE_ITEM_A;
+pub type PPDH_FMT_COUNTERVALUE_ITEM_W = *mut PDH_FMT_COUNTERVALUE_ITEM_W;
+pub type PPDH_DATA_ITEM_PATH_ELEMENTS_A = *mut PDH_DATA_ITEM_PATH_ELEMENTS_A;
+pub type PPDH_DATA_ITEM_PATH_ELEMENTS_W = *mut PDH_DATA_ITEM_PATH_ELEMENTS_W;
+pub type PPDH_FMT_COUNTERVALUE = *mut PDH_FMT_COUNTERVALUE;
+FN!{stdcall CounterPathCallBack(
+ DWORD_PTR,
+) -> PDH_STATUS}
+pub type PPDH_COUNTER_PATH_ELEMENTS_A = *mut PDH_COUNTER_PATH_ELEMENTS_A;
+pub type PPDH_COUNTER_PATH_ELEMENTS_W = *mut PDH_COUNTER_PATH_ELEMENTS_W;
+pub type PPDH_BROWSE_DLG_CONFIG_HA = *mut PDH_BROWSE_DLG_CONFIG_HA;
+pub type PPDH_BROWSE_DLG_CONFIG_HW = *mut PDH_BROWSE_DLG_CONFIG_HW;
+UNION!{union PDH_FMT_COUNTERVALUE_u {
+ [u64; 1],
+ longValue longValue_mut: LONG,
+ doubleValue doubleValue_mut: c_double,
+ largeValue largeValue_mut: LONGLONG,
+ AnsiStringValue AnsiStringValue_mut: LPCSTR,
+ WideStringValue WideStringValue_mut: LPCWSTR,
+}}
+STRUCT!{struct PDH_FMT_COUNTERVALUE {
+ CStatus: DWORD,
+ u: PDH_FMT_COUNTERVALUE_u,
+}}
+STRUCT!{struct PDH_RAW_LOG_RECORD {
+ dwStructureSize: DWORD,
+ dwRecordType: DWORD,
+ dwItems: DWORD,
+ RawBytes: UCHAR,
+}}
+STRUCT!{struct PDH_TIME_INFO {
+ StartTime: LONGLONG,
+ EndTime: LONGLONG,
+ SampleCount: DWORD,
+}}
+STRUCT!{struct PDH_RAW_COUNTER {
+ CStatus: DWORD,
+ TimeStamp: FILETIME,
+ FirstValue: LONGLONG,
+ SecondValue: LONGLONG,
+ MultiCount: DWORD,
+}}
+STRUCT!{struct PDH_STATISTICS {
+ dwFormat: DWORD,
+ count: DWORD,
+ min: PDH_FMT_COUNTERVALUE,
+ max: PDH_FMT_COUNTERVALUE,
+ mean: PDH_FMT_COUNTERVALUE,
+}}
+STRUCT!{struct PDH_FMT_COUNTERVALUE_ITEM_A {
+ szName: LPSTR,
+ FmtValue: PDH_FMT_COUNTERVALUE,
+}}
+STRUCT!{struct PDH_FMT_COUNTERVALUE_ITEM_W {
+ szName: LPWSTR,
+ FmtValue: PDH_FMT_COUNTERVALUE,
+}}
+STRUCT!{struct PDH_BROWSE_DLG_CONFIG_A {
+ flags: DWORD,
+ hWndOwner: HWND,
+ szDataSource: LPSTR,
+ szReturnPathBuffer: LPSTR,
+ cchReturnPathLength: DWORD,
+ pCallBack: CounterPathCallBack,
+ dwCallBackArg: DWORD_PTR,
+ CallBackStatus: PDH_STATUS,
+ dwDefaultDetailLevel: DWORD,
+ szDialogBoxCaption: LPSTR,
+}}
+BITFIELD!{PDH_BROWSE_DLG_CONFIG_A flags: DWORD [
+ IncludeInstanceIndex set_IncludeInstanceIndex[0..1],
+ SingleCounterPerAdd set_SingleCounterPerAdd[1..2],
+ SingleCounterPerDialog set_SingleCounterPerDialog[2..3],
+ LocalCountersOnly set_LocalCountersOnly[3..4],
+ WildCardInstances set_WildCardInstances[4..5],
+ HideDetailBox set_HideDetailBox[5..6],
+ InitializePath set_InitializePath[6..7],
+ DisableMachineSelection set_DisableMachineSelection[7..8],
+ IncludeCostlyObjects set_IncludeCostlyObjects[8..9],
+ ShowObjectBrowser set_ShowObjectBrowser[9..10],
+]}
+STRUCT!{struct PDH_BROWSE_DLG_CONFIG_W {
+ flags: DWORD,
+ hWndOwner: HWND,
+ szDataSource: LPWSTR,
+ szReturnPathBuffer: LPWSTR,
+ cchReturnPathLength: DWORD,
+ pCallBack: CounterPathCallBack,
+ dwCallBackArg: DWORD_PTR,
+ CallBackStatus: PDH_STATUS,
+ dwDefaultDetailLevel: DWORD,
+ szDialogBoxCaption: LPWSTR,
+}}
+BITFIELD!{PDH_BROWSE_DLG_CONFIG_W flags: DWORD [
+ IncludeInstanceIndex set_IncludeInstanceIndex[0..1],
+ SingleCounterPerAdd set_SingleCounterPerAdd[1..2],
+ SingleCounterPerDialog set_SingleCounterPerDialog[2..3],
+ LocalCountersOnly set_LocalCountersOnly[3..4],
+ WildCardInstances set_WildCardInstances[4..5],
+ HideDetailBox set_HideDetailBox[5..6],
+ InitializePath set_InitializePath[6..7],
+ DisableMachineSelection set_DisableMachineSelection[7..8],
+ IncludeCostlyObjects set_IncludeCostlyObjects[8..9],
+ ShowObjectBrowser set_ShowObjectBrowser[9..10],
+]}
+STRUCT!{struct PDH_COUNTER_PATH_ELEMENTS_A {
+ szMachineName: LPSTR,
+ szObjectName: LPSTR,
+ szInstanceName: LPSTR,
+ szParentInstance: LPSTR,
+ dwInstanceIndex: DWORD,
+ szCounterName: LPSTR,
+}}
+STRUCT!{struct PDH_COUNTER_PATH_ELEMENTS_W {
+ szMachineName: LPWSTR,
+ szObjectName: LPWSTR,
+ szInstanceName: LPWSTR,
+ szParentInstance: LPWSTR,
+ dwInstanceIndex: DWORD,
+ szCounterName: LPWSTR,
+}}
+STRUCT!{struct PDH_DATA_ITEM_PATH_ELEMENTS_A {
+ szMachineName: LPSTR,
+ ObjectGUID: GUID,
+ dwItemId: DWORD,
+ szInstanceName: LPSTR,
+}}
+STRUCT!{struct PDH_DATA_ITEM_PATH_ELEMENTS_W {
+ szMachineName: LPWSTR,
+ ObjectGUID: GUID,
+ dwItemId: DWORD,
+ szInstanceName: LPWSTR,
+}}
+STRUCT!{struct PDH_COUNTER_INFO_A_u_s {
+ szMachineName: LPSTR,
+ szObjectName: LPSTR,
+ szInstanceName: LPSTR,
+ szParentInstance: LPSTR,
+ dwInstanceIndex: DWORD,
+ szCounterName: LPSTR,
+}}
+UNION!{union PDH_COUNTER_INFO_A_u {
+ [u32; 7] [u64; 6],
+ DataItemPath DataItemPath_mut: PDH_DATA_ITEM_PATH_ELEMENTS_A,
+ CounterPath CounterPath_mut: PDH_COUNTER_PATH_ELEMENTS_A,
+ s s_mut: PDH_COUNTER_INFO_A_u_s,
+}}
+STRUCT!{struct PDH_COUNTER_INFO_A {
+ dwLength: DWORD,
+ dwType: DWORD,
+ CVersion: DWORD,
+ CStatus: DWORD,
+ lScale: LONG,
+ lDefaultScale: LONG,
+ dwUserData: DWORD_PTR,
+ dwQueryUserData: DWORD_PTR,
+ szFullPath: LPSTR,
+ u: PDH_COUNTER_INFO_A_u,
+ szExplainText: LPSTR,
+ DataBuffer: [DWORD; 1],
+}}
+STRUCT!{struct PDH_COUNTER_INFO_W_u_s {
+ szMachineName: LPWSTR,
+ szObjectName: LPWSTR,
+ szInstanceName: LPWSTR,
+ szParentInstance: LPWSTR,
+ dwInstanceIndex: DWORD,
+ szCounterName: LPWSTR,
+}}
+UNION!{union PDH_COUNTER_INFO_W_u {
+ [u32; 7] [u64; 6],
+ DataItemPath DataItemPath_mut: PDH_DATA_ITEM_PATH_ELEMENTS_W,
+ CounterPath CounterPath_mut: PDH_COUNTER_PATH_ELEMENTS_W,
+ s s_mut: PDH_COUNTER_INFO_W_u_s,
+}}
+STRUCT!{struct PDH_COUNTER_INFO_W {
+ dwLength: DWORD,
+ dwType: DWORD,
+ CVersion: DWORD,
+ CStatus: DWORD,
+ lScale: LONG,
+ lDefaultScale: LONG,
+ dwUserData: DWORD_PTR,
+ dwQueryUserData: DWORD_PTR,
+ szFullPath: LPWSTR,
+ u: PDH_COUNTER_INFO_W_u,
+ szExplainText: LPWSTR,
+ DataBuffer: [DWORD; 1],
+}}
+STRUCT!{struct PDH_BROWSE_DLG_CONFIG_HA {
+ flags: DWORD,
+ hWndOwner: HWND,
+ hDataSource: PDH_HLOG,
+ szReturnPathBuffer: LPSTR,
+ cchReturnPathLength: DWORD,
+ pCallBack: CounterPathCallBack,
+ dwCallBackArg: DWORD_PTR,
+ CallBackStatus: PDH_STATUS,
+ dwDefaultDetailLevel: DWORD,
+ szDialogBoxCaption: LPSTR,
+}}
+BITFIELD!{PDH_BROWSE_DLG_CONFIG_HA flags: DWORD [
+ IncludeInstanceIndex set_IncludeInstanceIndex[0..1],
+ SingleCounterPerAdd set_SingleCounterPerAdd[1..2],
+ SingleCounterPerDialog set_SingleCounterPerDialog[2..3],
+ LocalCountersOnly set_LocalCountersOnly[3..4],
+ WildCardInstances set_WildCardInstances[4..5],
+ HideDetailBox set_HideDetailBox[5..6],
+ InitializePath set_InitializePath[6..7],
+ DisableMachineSelection set_DisableMachineSelection[7..8],
+ IncludeCostlyObjects set_IncludeCostlyObjects[8..9],
+ ShowObjectBrowser set_ShowObjectBrowser[9..10],
+]}
+STRUCT!{struct PDH_BROWSE_DLG_CONFIG_HW {
+ flags: DWORD,
+ hWndOwner: HWND,
+ hDataSource: PDH_HLOG,
+ szReturnPathBuffer: LPWSTR,
+ cchReturnPathLength: DWORD,
+ pCallBack: CounterPathCallBack,
+ dwCallBackArg: DWORD_PTR,
+ CallBackStatus: PDH_STATUS,
+ dwDefaultDetailLevel: DWORD,
+ szDialogBoxCaption: LPWSTR,
+}}
+BITFIELD!{PDH_BROWSE_DLG_CONFIG_HW flags: DWORD [
+ IncludeInstanceIndex set_IncludeInstanceIndex[0..1],
+ SingleCounterPerAdd set_SingleCounterPerAdd[1..2],
+ SingleCounterPerDialog set_SingleCounterPerDialog[2..3],
+ LocalCountersOnly set_LocalCountersOnly[3..4],
+ WildCardInstances set_WildCardInstances[4..5],
+ HideDetailBox set_HideDetailBox[5..6],
+ InitializePath set_InitializePath[6..7],
+ DisableMachineSelection set_DisableMachineSelection[7..8],
+ IncludeCostlyObjects set_IncludeCostlyObjects[8..9],
+ ShowObjectBrowser set_ShowObjectBrowser[9..10],
+]}
+extern "system" {
+ pub fn PdhGetDllVersion(
+ lpdwVersion: LPDWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhOpenQueryW(
+ szDataSource: LPCWSTR,
+ dwUserData: DWORD_PTR,
+ phQuery: *mut PDH_HQUERY,
+ ) -> PDH_STATUS;
+ pub fn PdhOpenQueryA(
+ szDataSource: LPCSTR,
+ dwUserData: DWORD_PTR,
+ phQuery: *mut PDH_HQUERY,
+ ) -> PDH_STATUS;
+ pub fn PdhAddCounterW(
+ hQuery: PDH_HQUERY,
+ szFullCounterPath: LPCWSTR,
+ dwUserData: DWORD_PTR,
+ phCounter: *mut PDH_HCOUNTER,
+ ) -> PDH_STATUS;
+ pub fn PdhAddCounterA(
+ hQuery: PDH_HQUERY,
+ szFullCounterPath: LPCSTR,
+ dwUserData: DWORD_PTR,
+ phCounter: *mut PDH_HCOUNTER,
+ ) -> PDH_STATUS;
+ pub fn PdhAddEnglishCounterW(
+ hQuery: PDH_HQUERY,
+ szFullCounterPath: LPCWSTR,
+ dwUserData: DWORD_PTR,
+ phCounter: *mut PDH_HCOUNTER,
+ ) -> PDH_STATUS;
+ pub fn PdhAddEnglishCounterA(
+ hQuery: PDH_HQUERY,
+ szFullCounterPath: LPCSTR,
+ dwUserData: DWORD_PTR,
+ phCounter: *mut PDH_HCOUNTER,
+ ) -> PDH_STATUS;
+ pub fn PdhCollectQueryDataWithTime(
+ hQuery: PDH_HQUERY,
+ pllTimeStamp: *mut LONGLONG,
+ ) -> PDH_STATUS;
+ pub fn PdhValidatePathExW(
+ hDataSource: PDH_HLOG,
+ szFullPathBuffer: LPCWSTR,
+ ) -> PDH_STATUS;
+ pub fn PdhValidatePathExA(
+ hDataSource: PDH_HLOG,
+ szFullPathBuffer: LPCSTR,
+ ) -> PDH_STATUS;
+ pub fn PdhRemoveCounter(
+ hCounter: PDH_HCOUNTER,
+ ) -> PDH_STATUS;
+ pub fn PdhCollectQueryData(
+ hQuery: PDH_HQUERY,
+ ) -> PDH_STATUS;
+ pub fn PdhCloseQuery(
+ hQuery: PDH_HQUERY,
+ ) -> PDH_STATUS;
+ pub fn PdhGetFormattedCounterValue(
+ hCounter: PDH_HCOUNTER,
+ dwFormat: DWORD,
+ lpdwType: LPDWORD,
+ pValue: PPDH_FMT_COUNTERVALUE,
+ ) -> PDH_STATUS;
+ pub fn PdhGetFormattedCounterArrayA(
+ hCounter: PDH_HCOUNTER,
+ dwFormat: DWORD,
+ lpdwBufferSize: LPDWORD,
+ lpdwBufferCount: LPDWORD,
+ ItemBuffer: PPDH_FMT_COUNTERVALUE_ITEM_A,
+ ) -> PDH_STATUS;
+ pub fn PdhGetFormattedCounterArrayW(
+ hCounter: PDH_HCOUNTER,
+ dwFormat: DWORD,
+ lpdwBufferSize: LPDWORD,
+ lpdwBufferCount: LPDWORD,
+ ItemBuffer: PPDH_FMT_COUNTERVALUE_ITEM_W,
+ ) -> PDH_STATUS;
+ pub fn PdhGetRawCounterValue(
+ hCounter: PDH_HCOUNTER,
+ lpdwType: LPDWORD,
+ pValue: PPDH_RAW_COUNTER,
+ ) -> PDH_STATUS;
+ pub fn PdhGetRawCounterArrayA(
+ hCounter: PDH_HCOUNTER,
+ dwFormat: DWORD,
+ lpdwBufferSize: LPDWORD,
+ lpdwBufferCount: LPDWORD,
+ ItemBuffer: PPDH_FMT_COUNTERVALUE_ITEM_A,
+ ) -> PDH_STATUS;
+ pub fn PdhGetRawCounterArrayW(
+ hCounter: PDH_HCOUNTER,
+ dwFormat: DWORD,
+ lpdwBufferSize: LPDWORD,
+ lpdwBufferCount: LPDWORD,
+ ItemBuffer: PPDH_FMT_COUNTERVALUE_ITEM_W,
+ ) -> PDH_STATUS;
+ pub fn PdhCalculateCounterFromRawValue(
+ hCounter: PDH_HCOUNTER,
+ dwFormat: DWORD,
+ rawValue1: PPDH_RAW_COUNTER,
+ rawValue2: PPDH_RAW_COUNTER,
+ fmtValue: PPDH_FMT_COUNTERVALUE,
+ ) -> PDH_STATUS;
+ pub fn PdhComputeCounterStatistics(
+ hCounter: PDH_HCOUNTER,
+ dwFormat: DWORD,
+ dwFirstEntry: DWORD,
+ dwNumEntries: DWORD,
+ lpRawValueArray: PPDH_RAW_COUNTER,
+ data: PPDH_STATISTICS,
+ ) -> PDH_STATUS;
+ pub fn PdhGetCounterInfoW(
+ hCounter: PDH_HCOUNTER,
+ bRetrieveExplainText: BOOLEAN,
+ pdwBufferSize: LPDWORD,
+ lpBuffer: PPDH_COUNTER_INFO_W,
+ ) -> PDH_STATUS;
+ pub fn PdhGetCounterInfoA(
+ hCounter: PDH_HCOUNTER,
+ bRetrieveExplainText: BOOLEAN,
+ pdwBufferSize: LPDWORD,
+ lpBuffer: PPDH_COUNTER_INFO_A,
+ ) -> PDH_STATUS;
+ pub fn PdhSetCounterScaleFactor(
+ hCounter: PDH_HCOUNTER,
+ lFactor: LONG,
+ ) -> PDH_STATUS;
+ pub fn PdhConnectMachineW(
+ szMachineName: LPCWSTR,
+ ) -> PDH_STATUS;
+ pub fn PdhConnectMachineA(
+ szMachineName: LPCSTR,
+ ) -> PDH_STATUS;
+ pub fn PdhEnumMachinesW(
+ szDataSource: LPCWSTR,
+ mszMachineNameList: LPWSTR,
+ pcchBufferLength: LPDWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhEnumMachinesA(
+ szDataSource: LPCSTR,
+ mszMachineNameList: LPSTR,
+ pcchBufferLength: LPDWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhEnumObjectsW(
+ szDataSource: LPCWSTR,
+ szMachineName: LPCWSTR,
+ mszObjectList: LPWSTR,
+ pcchBufferLength: LPDWORD,
+ dwDetailLevel: DWORD,
+ bRefresh: BOOL,
+ ) -> PDH_STATUS;
+ pub fn PdhEnumObjectsA(
+ szDataSource: LPCSTR,
+ szMachineName: LPCSTR,
+ mszObjectList: LPSTR,
+ pcchBufferLength: LPDWORD,
+ dwDetailLevel: DWORD,
+ bRefresh: BOOL,
+ ) -> PDH_STATUS;
+ pub fn PdhEnumObjectItemsW(
+ szDataSource: LPCWSTR,
+ szMachineName: LPCWSTR,
+ szObjectName: LPCWSTR,
+ mszCounterList: LPWSTR,
+ pcchCounterListLength: LPDWORD,
+ mszInstanceList: LPWSTR,
+ pcchInstanceListLength: LPDWORD,
+ dwDetailLevel: DWORD,
+ dwFlags: DWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhEnumObjectItemsA(
+ szDataSource: LPCSTR,
+ szMachineName: LPCSTR,
+ szObjectName: LPCSTR,
+ mszCounterList: LPSTR,
+ pcchCounterListLength: LPDWORD,
+ mszInstanceList: LPSTR,
+ pcchInstanceListLength: LPDWORD,
+ dwDetailLevel: DWORD,
+ dwFlags: DWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhMakeCounterPathW(
+ pCounterPathElements: PPDH_COUNTER_PATH_ELEMENTS_W,
+ szFullPathBuffer: LPWSTR,
+ pcchBufferSize: LPDWORD,
+ dwFlags: DWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhMakeCounterPathA(
+ pCounterPathElements: PPDH_COUNTER_PATH_ELEMENTS_A,
+ szFullPathBuffer: LPSTR,
+ pcchBufferSize: LPDWORD,
+ dwFlags: DWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhParseCounterPathW(
+ szFullPathBuffer: LPCWSTR,
+ pCounterPathElements: *mut PDH_COUNTER_PATH_ELEMENTS_W,
+ pcchBufferSize: LPDWORD,
+ dwFlags: DWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhParseCounterPathA(
+ szFullPathBuffer: LPCSTR,
+ pCounterPathElements: *mut PDH_COUNTER_PATH_ELEMENTS_A,
+ pcchBufferSize: LPDWORD,
+ dwFlags: DWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhParseInstanceNameW(
+ szInstanceString: LPCWSTR,
+ szInstanceName: LPWSTR,
+ pcchInstanceNameLength: LPDWORD,
+ szParentName: LPWSTR,
+ pcchParentNameLength: LPDWORD,
+ lpIndex: LPDWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhParseInstanceNameA(
+ szInstanceString: LPCSTR,
+ szInstanceName: LPSTR,
+ pcchInstanceNameLength: LPDWORD,
+ szParentName: LPSTR,
+ pcchParentNameLength: LPDWORD,
+ lpIndex: LPDWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhValidatePathW(
+ szFullCounterPath: LPCWSTR,
+ ) -> PDH_STATUS;
+ pub fn PdhValidatePathA(
+ szFullCounterPath: LPCSTR,
+ ) -> PDH_STATUS;
+ pub fn PdhGetDefaultPerfObjectW(
+ szDataSource: LPCWSTR,
+ szMachineName: LPCWSTR,
+ szDefaultObjectName: LPWSTR,
+ pcchBufferSize: LPDWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhGetDefaultPerfObjectA(
+ szDataSource: LPCSTR,
+ szMachineName: LPCSTR,
+ szDefaultObjectName: LPSTR,
+ pcchBufferSize: LPDWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhGetDefaultPerfCounterW(
+ szDataSource: LPCWSTR,
+ szMachineName: LPCWSTR,
+ szObjectName: LPCWSTR,
+ szDefaultCounterName: LPWSTR,
+ pcchBufferSize: LPDWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhGetDefaultPerfCounterA(
+ szDataSource: LPCSTR,
+ szMachineName: LPCSTR,
+ szObjectName: LPCSTR,
+ szDefaultCounterName: LPSTR,
+ pcchBufferSize: LPDWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhBrowseCountersW(
+ pBrowseDlgData: PPDH_BROWSE_DLG_CONFIG_W,
+ ) -> PDH_STATUS;
+ pub fn PdhBrowseCountersA(
+ pBrowseDlgData: PPDH_BROWSE_DLG_CONFIG_A,
+ ) -> PDH_STATUS;
+ pub fn PdhExpandCounterPathW(
+ szWildCardPath: LPCWSTR,
+ mszExpandedPathList: LPWSTR,
+ pcchPathListLength: LPDWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhExpandCounterPathA(
+ szWildCardPath: LPCSTR,
+ mszExpandedPathList: LPSTR,
+ pcchPathListLength: LPDWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhLookupPerfNameByIndexW(
+ szMachineName: LPCWSTR,
+ dwNameIndex: DWORD,
+ szNameBuffer: LPWSTR,
+ pcchNameBufferSize: LPDWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhLookupPerfNameByIndexA(
+ szMachineName: LPCSTR,
+ dwNameIndex: DWORD,
+ szNameBuffer: LPSTR,
+ pcchNameBufferSize: LPDWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhLookupPerfIndexByNameW(
+ szMachineName: LPCWSTR,
+ szNameBuffer: LPCWSTR,
+ pdwIndex: LPDWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhLookupPerfIndexByNameA(
+ szMachineName: LPCSTR,
+ szNameBuffer: LPCSTR,
+ pdwIndex: LPDWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhExpandWildCardPathW(
+ szDataSource: LPCWSTR,
+ szWildCardPath: LPCWSTR,
+ mszExpandedPathList: LPWSTR,
+ pcchPathListLength: LPDWORD,
+ dwFlags: DWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhExpandWildCardPathA(
+ szDataSource: LPCSTR,
+ szWildCardPath: LPCSTR,
+ mszExpandedPathList: LPSTR,
+ pcchPathListLength: LPDWORD,
+ dwFlags: DWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhOpenLogW(
+ szLogFileName: LPCWSTR,
+ dwAccessFlags: DWORD,
+ lpdwLogType: LPDWORD,
+ hQuery: PDH_HQUERY,
+ dwMaxSize: DWORD,
+ szUserCaption: LPCWSTR,
+ phLog: *mut PDH_HLOG,
+ ) -> PDH_STATUS;
+ pub fn PdhOpenLogA(
+ szLogFileName: LPCSTR,
+ dwAccessFlags: DWORD,
+ lpdwLogType: LPDWORD,
+ hQuery: PDH_HQUERY,
+ dwMaxSize: DWORD,
+ szUserCaption: LPCSTR,
+ phLog: *mut PDH_HLOG,
+ ) -> PDH_STATUS;
+ pub fn PdhUpdateLogW(
+ hLog: PDH_HLOG,
+ szUserString: LPCWSTR,
+ ) -> PDH_STATUS;
+ pub fn PdhUpdateLogA(
+ hLog: PDH_HLOG,
+ szUserString: LPCSTR,
+ ) -> PDH_STATUS;
+ pub fn PdhUpdateLogFileCatalog(
+ hLog: PDH_HLOG,
+ ) -> PDH_STATUS;
+ pub fn PdhGetLogFileSize(
+ hLog: PDH_HLOG,
+ llSize: *mut LONGLONG,
+ ) -> PDH_STATUS;
+ pub fn PdhCloseLog(
+ hLog: PDH_HLOG,
+ dwFlags: DWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhSelectDataSourceW(
+ hWndOwner: HWND,
+ dwFlags: DWORD,
+ szDataSource: LPWSTR,
+ pcchBufferLength: LPDWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhSelectDataSourceA(
+ hWndOwner: HWND,
+ dwFlags: DWORD,
+ szDataSource: LPSTR,
+ pcchBufferLength: LPDWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhIsRealTimeQuery(
+ hQuery: PDH_HQUERY,
+ ) -> PDH_STATUS;
+ pub fn PdhSetQueryTimeRange(
+ hQuery: PDH_HQUERY,
+ pInfo: PPDH_TIME_INFO,
+ ) -> PDH_STATUS;
+ pub fn PdhGetDataSourceTimeRangeW(
+ szDataSource: LPCWSTR,
+ pdwNumEntries: LPDWORD,
+ pInfo: PPDH_TIME_INFO,
+ pdwBufferSize: LPDWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhGetDataSourceTimeRangeA(
+ szDataSource: LPCSTR,
+ pdwNumEntries: LPDWORD,
+ pInfo: PPDH_TIME_INFO,
+ pdwBufferSize: LPDWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhCollectQueryDataEx(
+ hQuery: PDH_HQUERY,
+ dwIntervalTime: DWORD,
+ hNewDataEvent: HANDLE,
+ ) -> PDH_STATUS;
+ pub fn PdhFormatFromRawValue(
+ dwCounterType: DWORD,
+ dwFormat: DWORD,
+ pTimeBase: *mut LONGLONG,
+ rawValue1: PPDH_RAW_COUNTER,
+ rawValue2: PPDH_RAW_COUNTER,
+ fmtValue: PPDH_FMT_COUNTERVALUE,
+ ) -> PDH_STATUS;
+ pub fn PdhGetCounterTimeBase(
+ hCounter: PDH_HCOUNTER,
+ pTimeBase: *mut LONGLONG,
+ ) -> PDH_STATUS;
+ pub fn PdhReadRawLogRecord(
+ hLog: PDH_HLOG,
+ ftRecord: FILETIME,
+ pRawLogRecord: PPDH_RAW_LOG_RECORD,
+ pdwBufferLength: LPDWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhSetDefaultRealTimeDataSource(
+ dwDataSourceId: DWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhBindInputDataSourceW(
+ phDataSource: *mut PDH_HLOG,
+ szLogFileNameList: LPCWSTR,
+ ) -> PDH_STATUS;
+ pub fn PdhBindInputDataSourceA(
+ phDataSource: *mut PDH_HLOG,
+ szLogFileNameList: LPCSTR,
+ ) -> PDH_STATUS;
+ pub fn PdhOpenQueryH(
+ hDataSource: PDH_HLOG,
+ dwUserData: DWORD_PTR,
+ phQuery: *mut PDH_HQUERY,
+ ) -> PDH_STATUS;
+ pub fn PdhEnumMachinesHW(
+ hDataSource: PDH_HLOG,
+ mszMachineNameList: LPWSTR,
+ pcchBufferLength: LPDWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhEnumMachinesHA(
+ hDataSource: PDH_HLOG,
+ mszMachineNameList: LPSTR,
+ pcchBufferLength: LPDWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhEnumObjectsHW(
+ hDataSource: PDH_HLOG,
+ szMachineName: LPCWSTR,
+ mszObjectList: LPWSTR,
+ pcchBufferLength: LPDWORD,
+ dwDetailLevel: DWORD,
+ bRefresh: BOOL,
+ ) -> PDH_STATUS;
+ pub fn PdhEnumObjectsHA(
+ hDataSource: PDH_HLOG,
+ szMachineName: LPCSTR,
+ mszObjectList: LPSTR,
+ pcchBufferLength: LPDWORD,
+ dwDetailLevel: DWORD,
+ bRefresh: BOOL,
+ ) -> PDH_STATUS;
+ pub fn PdhEnumObjectItemsHW(
+ hDataSource: PDH_HLOG,
+ szMachineName: LPCWSTR,
+ szObjectName: LPCWSTR,
+ mszCounterList: LPWSTR,
+ pcchCounterListLength: LPDWORD,
+ mszInstanceList: LPWSTR,
+ pcchInstanceListLength: LPDWORD,
+ dwDetailLevel: DWORD,
+ dwFlags: DWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhEnumObjectItemsHA(
+ hDataSource: PDH_HLOG,
+ szMachineName: LPCSTR,
+ szObjectName: LPCSTR,
+ mszCounterList: LPSTR,
+ pcchCounterListLength: LPDWORD,
+ mszInstanceList: LPSTR,
+ pcchInstanceListLength: LPDWORD,
+ dwDetailLevel: DWORD,
+ dwFlags: DWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhExpandWildCardPathHW(
+ hDataSource: PDH_HLOG,
+ szWildCardPath: LPCWSTR,
+ mszExpandedPathList: LPWSTR,
+ pcchPathListLength: LPDWORD,
+ dwFlags: DWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhExpandWildCardPathHA(
+ hDataSource: PDH_HLOG,
+ szWildCardPath: LPCSTR,
+ mszExpandedPathList: LPSTR,
+ pcchPathListLength: LPDWORD,
+ dwFlags: DWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhGetDataSourceTimeRangeH(
+ hDataSource: PDH_HLOG,
+ pdwNumEntries: LPDWORD,
+ pInfo: PPDH_TIME_INFO,
+ pdwBufferSize: LPDWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhGetDefaultPerfObjectHW(
+ hDataSource: PDH_HLOG,
+ szMachineName: LPCWSTR,
+ szDefaultObjectName: LPWSTR,
+ pcchBufferSize: LPDWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhGetDefaultPerfObjectHA(
+ hDataSource: PDH_HLOG,
+ szMachineName: LPCSTR,
+ szDefaultObjectName: LPSTR,
+ pcchBufferSize: LPDWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhGetDefaultPerfCounterHW(
+ hDataSource: PDH_HLOG,
+ szMachineName: LPCWSTR,
+ szObjectName: LPCWSTR,
+ szDefaultCounterName: LPWSTR,
+ pcchBufferSize: LPDWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhGetDefaultPerfCounterHA(
+ hDataSource: PDH_HLOG,
+ szMachineName: LPCSTR,
+ szObjectName: LPCSTR,
+ szDefaultCounterName: LPSTR,
+ pcchBufferSize: LPDWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhBrowseCountersHW(
+ pBrowseDlgData: PPDH_BROWSE_DLG_CONFIG_HW,
+ ) -> PDH_STATUS;
+ pub fn PdhBrowseCountersHA(
+ pBrowseDlgData: PPDH_BROWSE_DLG_CONFIG_HA,
+ ) -> PDH_STATUS;
+ pub fn PdhEnumLogSetNamesW(
+ szDataSource: LPCWSTR,
+ mszLogSetNameList: LPWSTR,
+ pcchBufferLength: LPDWORD,
+ ) -> PDH_STATUS;
+ pub fn PdhEnumLogSetNamesA(
+ szDataSource: LPCSTR,
+ mszLogSetNameList: LPSTR,
+ pcchBufferLength: LPDWORD,
+ ) -> PDH_STATUS;
+}
+// pub fn PdhVerifySQLDBW() -> PDH_STATUS;
+// pub fn PdhVerifySQLDBA() -> PDH_STATUS;
+// pub fn PdhCreateSQLTablesW() -> PDH_STATUS;
+// pub fn PdhCreateSQLTablesA() -> PDH_STATUS;
+//pub fn PdhGetLogSetGUID() -> PDH_STATUS;
+// pub fn PdhSetLogSetRunID() -> PDH_STATUS;