📄 pdh.h
字号:
#define PDH_FMT_RAW ((DWORD)0x00000010)
#define PDH_FMT_ANSI ((DWORD)0x00000020)
#define PDH_FMT_UNICODE ((DWORD)0x00000040)
#define PDH_FMT_LONG ((DWORD)0x00000100)
#define PDH_FMT_DOUBLE ((DWORD)0x00000200)
#define PDH_FMT_LARGE ((DWORD)0x00000400)
#define PDH_FMT_NOSCALE ((DWORD)0x00001000)
#define PDH_FMT_1000 ((DWORD)0x00002000)
#define PDH_FMT_NODATA ((DWORD)0x00004000)
#define PDH_FMT_NOCAP100 ((DWORD)0x00008000)
#define PERF_DETAIL_COSTLY ((DWORD)0x00010000)
#define PERF_DETAIL_STANDARD ((DWORD)0x0000FFFF)
PDH_FUNCTION
PdhGetRawCounterValue (
IN HCOUNTER hCounter,
IN LPDWORD lpdwType,
IN PPDH_RAW_COUNTER pValue
);
PDH_FUNCTION
PdhGetRawCounterArrayA (
IN HCOUNTER hCounter,
IN LPDWORD lpdwBufferSize,
IN LPDWORD lpdwItemCount,
IN PPDH_RAW_COUNTER_ITEM_A ItemBuffer
);
PDH_FUNCTION
PdhGetRawCounterArrayW (
IN HCOUNTER hCounter,
IN LPDWORD lpdwBufferSize,
IN LPDWORD lpdwItemCount,
IN PPDH_RAW_COUNTER_ITEM_W ItemBuffer
);
PDH_FUNCTION
PdhCalculateCounterFromRawValue (
IN HCOUNTER hCounter,
IN DWORD dwFormat,
IN PPDH_RAW_COUNTER rawValue1,
IN PPDH_RAW_COUNTER rawValue2,
IN PPDH_FMT_COUNTERVALUE fmtValue
);
PDH_FUNCTION
PdhComputeCounterStatistics (
IN HCOUNTER hCounter,
IN DWORD dwFormat,
IN DWORD dwFirstEntry,
IN DWORD dwNumEntries,
IN PPDH_RAW_COUNTER lpRawValueArray,
IN PPDH_STATISTICS data
);
PDH_FUNCTION
PdhGetCounterInfoW (
IN HCOUNTER hCounter,
IN BOOLEAN bRetrieveExplainText,
IN LPDWORD pdwBufferSize,
IN PPDH_COUNTER_INFO_W lpBuffer
);
PDH_FUNCTION
PdhGetCounterInfoA (
IN HCOUNTER hCounter,
IN BOOLEAN bRetrieveExplainText,
IN LPDWORD pdwBufferSize,
IN PPDH_COUNTER_INFO_A lpBuffer
);
#define PDH_MAX_SCALE (7L)
#define PDH_MIN_SCALE (-7L)
PDH_FUNCTION
PdhSetCounterScaleFactor (
IN HCOUNTER hCounter,
IN LONG lFactor
);
//
// Browsing and enumeration functions
//
PDH_FUNCTION
PdhConnectMachineW (
IN LPCWSTR szMachineName
);
PDH_FUNCTION
PdhConnectMachineA (
IN LPCSTR szMachineName
);
PDH_FUNCTION
PdhEnumMachinesW (
IN LPCWSTR szDataSource,
IN LPWSTR mszMachineList,
IN LPDWORD pcchBufferSize
);
PDH_FUNCTION
PdhEnumMachinesA (
IN LPCSTR szDataSource,
IN LPSTR mszMachineList,
IN LPDWORD pcchBufferSize
);
PDH_FUNCTION
PdhEnumObjectsW (
IN LPCWSTR szDataSource,
IN LPCWSTR szMachineName,
IN LPWSTR mszObjectList,
IN LPDWORD pcchBufferSize,
IN DWORD dwDetailLevel,
IN BOOL bRefresh
);
PDH_FUNCTION
PdhEnumObjectsA (
IN LPCSTR szDataSource,
IN LPCSTR szMachineName,
IN LPSTR mszObjectList,
IN LPDWORD pcchBufferSize,
IN DWORD dwDetailLevel,
IN BOOL bRefresh
);
PDH_FUNCTION
PdhEnumObjectItemsW (
IN LPCWSTR szDataSource,
IN LPCWSTR szMachineName,
IN LPCWSTR szObjectName,
IN LPWSTR mszCounterList,
IN LPDWORD pcchCounterListLength,
IN LPWSTR mszInstanceList,
IN LPDWORD pcchInstanceListLength,
IN DWORD dwDetailLevel,
IN DWORD dwFlags
);
PDH_FUNCTION
PdhEnumObjectItemsA (
IN LPCSTR szDataSource,
IN LPCSTR szMachineName,
IN LPCSTR szObjectName,
IN LPSTR mszCounterList,
IN LPDWORD pcchCounterListLength,
IN LPSTR mszInstanceList,
IN LPDWORD pcchInstanceListLength,
IN DWORD dwDetailLevel,
IN DWORD dwFlags
);
PDH_FUNCTION
PdhMakeCounterPathW (
IN PDH_COUNTER_PATH_ELEMENTS_W *pCounterPathElements,
IN LPWSTR szFullPathBuffer,
IN LPDWORD pcchBufferSize,
IN DWORD dwFlags
);
PDH_FUNCTION
PdhMakeCounterPathA (
IN PDH_COUNTER_PATH_ELEMENTS_A *pCounterPathElements,
IN LPSTR szFullPathBuffer,
IN LPDWORD pcchBufferSize,
IN DWORD dwFlags
);
PDH_FUNCTION
PdhParseCounterPathW (
IN LPCWSTR szFullPathBuffer,
IN PDH_COUNTER_PATH_ELEMENTS_W *pCounterPathElements,
IN LPDWORD pdwBufferSize,
IN DWORD dwFlags
);
PDH_FUNCTION
PdhParseCounterPathA (
IN LPCSTR szFullPathBuffer,
IN PDH_COUNTER_PATH_ELEMENTS_A *pCounterPathElements,
IN LPDWORD pdwBufferSize,
IN DWORD dwFlags
);
#define PDH_PATH_WBEM_RESULT ((DWORD)0x00000001)
#define PDH_PATH_WBEM_INPUT ((DWORD)0x00000002)
#define PDH_PATH_LANG_FLAGS(LangId, Flags) ((DWORD)(((LangId & 0x0000FFFF) << 16) | (Flags & 0x0000FFFF)))
PDH_FUNCTION
PdhParseInstanceNameW (
IN LPCWSTR szInstanceString,
IN LPWSTR szInstanceName,
IN LPDWORD pcchInstanceNameLength,
IN LPWSTR szParentName,
IN LPDWORD pcchParentNameLength,
IN LPDWORD lpIndex
);
PDH_FUNCTION
PdhParseInstanceNameA (
IN LPCSTR szInstanceString,
IN LPSTR szInstanceName,
IN LPDWORD pcchInstanceNameLength,
IN LPSTR szParentName,
IN LPDWORD pcchParentNameLength,
IN LPDWORD lpIndex
);
PDH_FUNCTION
PdhValidatePathW (
IN LPCWSTR szFullPathBuffer
);
PDH_FUNCTION
PdhValidatePathA (
IN LPCSTR szFullPathBuffer
);
PDH_FUNCTION
PdhGetDefaultPerfObjectW (
IN LPCWSTR szDataSource,
IN LPCWSTR szMachineName,
IN LPWSTR szDefaultObjectName,
IN LPDWORD pcchBufferSize
);
PDH_FUNCTION
PdhGetDefaultPerfObjectA (
IN LPCSTR szDataSource,
IN LPCSTR szMachineName,
IN LPSTR szDefaultObjectName,
IN LPDWORD pcchBufferSize
);
PDH_FUNCTION
PdhGetDefaultPerfCounterW (
IN LPCWSTR szDataSource,
IN LPCWSTR szMachineName,
IN LPCWSTR szObjectName,
IN LPWSTR szDefaultCounterName,
IN LPDWORD pcchBufferSize
);
PDH_FUNCTION
PdhGetDefaultPerfCounterA (
IN LPCSTR szDataSource,
IN LPCSTR szMachineName,
IN LPCSTR szObjectName,
IN LPSTR szDefaultCounterName,
IN LPDWORD pcchBufferSize
);
typedef PDH_STATUS (__stdcall *CounterPathCallBack)(DWORD_PTR);
#if _MSC_VER >= 1200
#pragma warning(push)
#endif
#pragma warning ( disable : 4214 ) // Disable warning messages
typedef struct _BrowseDlgConfig_W {
// Configuration flags
DWORD bIncludeInstanceIndex:1,
bSingleCounterPerAdd:1,
bSingleCounterPerDialog:1,
bLocalCountersOnly:1,
bWildCardInstances:1,
bHideDetailBox:1,
bInitializePath:1,
bDisableMachineSelection:1,
bIncludeCostlyObjects:1,
bReserved:23;
HWND hWndOwner;
LPWSTR szDataSource;
LPWSTR szReturnPathBuffer;
DWORD cchReturnPathLength;
CounterPathCallBack pCallBack;
DWORD_PTR dwCallBackArg;
PDH_STATUS CallBackStatus;
DWORD dwDefaultDetailLevel;
LPWSTR szDialogBoxCaption;
} PDH_BROWSE_DLG_CONFIG_W, *PPDH_BROWSE_DLG_CONFIG_W;
typedef struct _BrowseDlgConfig_A {
// Configuration flags
DWORD bIncludeInstanceIndex:1,
bSingleCounterPerAdd:1,
bSingleCounterPerDialog:1,
bLocalCountersOnly:1,
bWildCardInstances:1,
bHideDetailBox:1,
bInitializePath:1,
bDisableMachineSelection:1,
bIncludeCostlyObjects:1,
bReserved:23;
HWND hWndOwner;
LPSTR szDataSource;
LPSTR szReturnPathBuffer;
DWORD cchReturnPathLength;
CounterPathCallBack pCallBack;
DWORD_PTR dwCallBackArg;
PDH_STATUS CallBackStatus;
DWORD dwDefaultDetailLevel;
LPSTR szDialogBoxCaption;
} PDH_BROWSE_DLG_CONFIG_A, *PPDH_BROWSE_DLG_CONFIG_A;
#if _MSC_VER >= 1200
#pragma warning(pop)
#else
#pragma warning ( default : 4214 )
#endif
PDH_FUNCTION
PdhBrowseCountersW (
IN PPDH_BROWSE_DLG_CONFIG_W pBrowseDlgData
);
PDH_FUNCTION
PdhBrowseCountersA (
IN PPDH_BROWSE_DLG_CONFIG_A pBrowseDlgData
);
PDH_FUNCTION
PdhExpandCounterPathW (
IN LPCWSTR szWildCardPath,
IN LPWSTR mszExpandedPathList,
IN LPDWORD pcchPathListLength
);
PDH_FUNCTION
PdhExpandCounterPathA (
IN LPCSTR szWildCardPath,
IN LPSTR mszExpandedPathList,
IN LPDWORD pcchPathListLength
);
//
// v2.0 functions
//
PDH_FUNCTION
PdhLookupPerfNameByIndexW (
LPCWSTR szMachineName,
DWORD dwNameIndex,
LPWSTR szNameBuffer,
LPDWORD pcchNameBufferSize
);
PDH_FUNCTION
PdhLookupPerfNameByIndexA (
LPCSTR szMachineName,
DWORD dwNameIndex,
LPSTR szNameBuffer,
LPDWORD pcchNameBufferSize
);
PDH_FUNCTION
PdhLookupPerfIndexByNameW (
LPCWSTR szMachineName,
LPCWSTR szNameBuffer,
LPDWORD pdwIndex
);
PDH_FUNCTION
PdhLookupPerfIndexByNameA (
LPCSTR szMachineName,
LPCSTR szNameBuffer,
LPDWORD pdwIndex
);
#define PDH_NOEXPANDCOUNTERS 1
#define PDH_NOEXPANDINSTANCES 2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -