📄 pdh.pas
字号:
PDH_FMT_LARGE = DWORD($00000400);
{$EXTERNALSYM PDH_FMT_LARGE}
PDH_FMT_NOSCALE = DWORD($00001000);
{$EXTERNALSYM PDH_FMT_NOSCALE}
PDH_FMT_1000 = DWORD($00002000);
{$EXTERNALSYM PDH_FMT_1000}
PDH_FMT_NODATA = DWORD($00004000);
{$EXTERNALSYM PDH_FMT_NODATA}
PDH_FMT_NOCAP100 = DWORD($00008000);
{$EXTERNALSYM PDH_FMT_NODATA}
PERF_DETAIL_COSTLY = DWORD($00010000);
{$EXTERNALSYM PERF_DETAIL_COSTLY}
PERF_DETAIL_STANDARD = DWORD($0000FFFF);
{$EXTERNALSYM PERF_DETAIL_STANDARD}
function PdhGetRawCounterValue(hCounter: HCOUNTER; lpdwType: LPDWORD;
var pValue: PDH_RAW_COUNTER): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhGetRawCounterValue}
function PdhGetRawCounterArrayA(hCounter: HCOUNTER; var lpdwBufferSize,
lpdwItemCount: DWORD; var ItemBuffer: PDH_RAW_COUNTER_ITEM_A): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhGetRawCounterArrayA}
function PdhGetRawCounterArrayW(hCounter: HCOUNTER; var lpdwBufferSize,
lpdwItemCount: DWORD; var ItemBuffer: PDH_RAW_COUNTER_ITEM_W): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhGetRawCounterArrayW}
{$IFDEF UNICODE}
function PdhGetRawCounterArray(hCounter: HCOUNTER; var lpdwBufferSize,
lpdwItemCount: DWORD; var ItemBuffer: PDH_RAW_COUNTER_ITEM_W): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhGetRawCounterArray}
{$ELSE}
function PdhGetRawCounterArray(hCounter: HCOUNTER; var lpdwBufferSize,
lpdwItemCount: DWORD; var ItemBuffer: PDH_RAW_COUNTER_ITEM_A): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhGetRawCounterArray}
{$ENDIF}
function PdhCalculateCounterFromRawValue(hCounter: HCOUNTER; dwFormat: DWORD;
rawValue1, rawValue2: PPDH_RAW_COUNTER; var fmtValue: PDH_FMT_COUNTERVALUE): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhCalculateCounterFromRawValue}
function PdhComputeCounterStatistics(hCounter: HCOUNTER; dwFormat, dwFirstEntry,
dwNumEntries: DWORD; lpRawValueArray: PPDH_RAW_COUNTER; var data: PDH_STATISTICS): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhComputeCounterStatistics}
function PdhGetCounterInfoA(hCounter: HCOUNTER; bRetrieveExplainText: Boolean;
var pdwBufferSize: DWORD; lpBuffer: PPDH_COUNTER_INFO_A): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhGetCounterInfoA}
function PdhGetCounterInfoW(hCounter: HCOUNTER; bRetrieveExplainText: Boolean;
var pdwBufferSize: DWORD; lpBuffer: PPDH_COUNTER_INFO_W): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhGetCounterInfoW}
{$IFDEF UNICODE}
function PdhGetCounterInfo(hCounter: HCOUNTER; bRetrieveExplainText: Boolean;
var pdwBufferSize: DWORD; lpBuffer: PPDH_COUNTER_INFO_W): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhGetCounterInfo}
{$ELSE}
function PdhGetCounterInfo(hCounter: HCOUNTER; bRetrieveExplainText: Boolean;
var pdwBufferSize: DWORD; lpBuffer: PPDH_COUNTER_INFO_A): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhGetCounterInfo}
{$ENDIF}
const
PDH_MAX_SCALE = Longint(7);
{$EXTERNALSYM PDH_MAX_SCALE}
PDH_MIN_SCALE = Longint(-7);
{$EXTERNALSYM PDH_MIN_SCALE}
function PdhSetCounterScaleFactor(hCounter: HCOUNTER; lFactor: LONG): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhSetCounterScaleFactor}
//
// Browsing and enumeration functions
//
function PdhConnectMachineA(szMachineName: LPCSTR): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhConnectMachineA}
function PdhConnectMachineW(szMachineName: LPCWSTR): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhConnectMachineW}
{$IFDEF UNICODE}
function PdhConnectMachine(szMachineName: LPCWSTR): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhConnectMachine}
{$ELSE}
function PdhConnectMachine(szMachineName: LPCSTR): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhConnectMachine}
{$ENDIF}
function PdhEnumMachinesA(szDataSource: LPCSTR; mszMachineList: LPSTR;
pcchBufferSize: LPDWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhEnumMachinesA}
function PdhEnumMachinesW(szDataSource: LPCWSTR; mszMachineList: LPWSTR;
pcchBufferSize: LPDWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhEnumMachinesW}
{$IFDEF UNICODE}
function PdhEnumMachines(szDataSource: LPCWSTR; mszMachineList: LPWSTR;
pcchBufferSize: LPDWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhEnumMachines}
{$ELSE}
function PdhEnumMachines(szDataSource: LPCSTR; mszMachineList: LPSTR;
pcchBufferSize: LPDWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhEnumMachines}
{$ENDIF}
function PdhEnumObjectsA(szDataSource, szMachineName: LPCSTR; mszObjectList: LPSTR;
var pcchBufferSize: DWORD; dwDetailLevel: DWORD; bRefresh: BOOL): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhEnumObjectsA}
function PdhEnumObjectsW(szDataSource, szMachineName: LPCWSTR; mszObjectList: LPWSTR;
var pcchBufferSize: DWORD; dwDetailLevel: DWORD; bRefresh: BOOL): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhEnumObjectsW}
{$IFDEF UNICODE}
function PdhEnumObjects(szDataSource, szMachineName: LPCWSTR; mszObjectList: LPWSTR;
var pcchBufferSize: DWORD; dwDetailLevel: DWORD; bRefresh: BOOL): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhEnumObjects}
{$ELSE}
function PdhEnumObjects(szDataSource, szMachineName: LPCSTR; mszObjectList: LPSTR;
var pcchBufferSize: DWORD; dwDetailLevel: DWORD; bRefresh: BOOL): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhEnumObjects}
{$ENDIF}
function PdhEnumObjectItemsA(szDataSource, szMachineName, szObjectName: LPCSTR;
mszCounterList: LPSTR; var pcchCounterListLength: DWORD; mszInstanceList: LPSTR;
var pcchInstanceListLength: DWORD; dwDetailLevel, dwFlags: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhEnumObjectItemsA}
function PdhEnumObjectItemsW(szDataSource, szMachineName, szObjectName: LPCWSTR;
mszCounterList: LPWSTR; var pcchCounterListLength: DWORD; mszInstanceList: LPWSTR;
var pcchInstanceListLength: DWORD; dwDetailLevel, dwFlags: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhEnumObjectItemsW}
{$IFDEF UNICODE}
function PdhEnumObjectItems(szDataSource, szMachineName, szObjectName: LPCWSTR;
mszCounterList: LPWSTR; var pcchCounterListLength: DWORD; mszInstanceList: LPWSTR;
var pcchInstanceListLength: DWORD; dwDetailLevel, dwFlags: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhEnumObjectItems}
{$ELSE}
function PdhEnumObjectItems(szDataSource, szMachineName, szObjectName: LPCSTR;
mszCounterList: LPSTR; var pcchCounterListLength: DWORD; mszInstanceList: LPSTR;
var pcchInstanceListLength: DWORD; dwDetailLevel, dwFlags: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhEnumObjectItems}
{$ENDIF}
function PdhMakeCounterPathA(pCounterPathElements: PPDH_COUNTER_PATH_ELEMENTS_A;
szFullPathBuffer: LPSTR; var pcchBufferSize: DWORD; dwFlags: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhMakeCounterPathA}
function PdhMakeCounterPathW(pCounterPathElements: PPDH_COUNTER_PATH_ELEMENTS_W;
szFullPathBuffer: LPWSTR; var pcchBufferSize: DWORD; dwFlags: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhMakeCounterPathW}
{$IFDEF UNICODE}
function PdhMakeCounterPath(pCounterPathElements: PPDH_COUNTER_PATH_ELEMENTS_W;
szFullPathBuffer: LPWSTR; var pcchBufferSize: DWORD; dwFlags: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhMakeCounterPath}
{$ELSE}
function PdhMakeCounterPath(pCounterPathElements: PPDH_COUNTER_PATH_ELEMENTS_A;
szFullPathBuffer: LPSTR; var pcchBufferSize: DWORD; dwFlags: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhMakeCounterPath}
{$ENDIF}
function PdhParseCounterPathA(szFullPathBuffer: LPCSTR;
pCounterPathElements: PDH_COUNTER_PATH_ELEMENTS_A; var pdwBufferSize: DWORD;
dwFlags: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhParseCounterPathA}
function PdhParseCounterPathW(szFullPathBuffer: LPCWSTR;
pCounterPathElements: PDH_COUNTER_PATH_ELEMENTS_W; var pdwBufferSize: DWORD;
dwFlags: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhParseCounterPathW}
{$IFDEF UNICODE}
function PdhParseCounterPath(szFullPathBuffer: LPCWSTR;
pCounterPathElements: PDH_COUNTER_PATH_ELEMENTS_W; var pdwBufferSize: DWORD;
dwFlags: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhParseCounterPath}
{$ELSE}
function PdhParseCounterPath(szFullPathBuffer: LPCSTR;
pCounterPathElements: PDH_COUNTER_PATH_ELEMENTS_A; var pdwBufferSize: DWORD;
dwFlags: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhParseCounterPath}
{$ENDIF}
const
PDH_PATH_WBEM_RESULT = DWORD($00000001);
{$EXTERNALSYM PDH_PATH_WBEM_RESULT}
PDH_PATH_WBEM_INPUT = DWORD($00000002);
{$EXTERNALSYM PDH_PATH_WBEM_INPUT}
function PDH_PATH_LANG_FLAGS(LangId, Flags: DWORD): DWORD;
{$EXTERNALSYM PDH_PATH_LANG_FLAGS}
function PdhParseInstanceNameA(szInstanceString: LPSTR; szInstanceName: LPCSTR;
var pcchInstanceNameLength: DWORD; szParentName: LPSTR;
var pcchParentNameLength: DWORD; lpIndex: LPDWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhParseInstanceNameA}
function PdhParseInstanceNameW(szInstanceString: LPWSTR; szInstanceName: LPCWSTR;
var pcchInstanceNameLength: DWORD; szParentName: LPWSTR;
var pcchParentNameLength: DWORD; lpIndex: LPDWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhParseInstanceNameW}
{$IFDEF UNICODE}
function PdhParseInstanceName(szInstanceString: LPWSTR; szInstanceName: LPCWSTR;
var pcchInstanceNameLength: DWORD; szParentName: LPWSTR;
var pcchParentNameLength: DWORD; lpIndex: LPDWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhParseInstanceName}
{$ELSE}
function PdhParseInstanceName(szInstanceString: LPSTR; szInstanceName: LPCSTR;
var pcchInstanceNameLength: DWORD; szParentName: LPSTR;
var pcchParentNameLength: DWORD; lpIndex: LPDWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhParseInstanceName}
{$ENDIF}
function PdhValidatePathA(szFullPathBuffer: LPCSTR): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhValidatePathA}
function PdhValidatePathW(szFullPathBuffer: LPCWSTR): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhValidatePathW}
{$IFDEF UNICODE}
function PdhValidatePath(szFullPathBuffer: LPCWSTR): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhValidatePath}
{$ELSE}
function PdhValidatePath(szFullPathBuffer: LPCSTR): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhValidatePath}
{$ENDIF}
function PdhGetDefaultPerfObjectA(szDataSource, szMachineName: LPCSTR;
szDefaultObjectName: LPSTR; var pcchBufferSize: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhGetDefaultPerfObjectA}
function PdhGetDefaultPerfObjectW(szDataSource, szMachineName: LPCWSTR;
szDefaultObjectName: LPWSTR; var pcchBufferSize: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhGetDefaultPerfObjectW}
{$IFDEF UNICODE}
function PdhGetDefaultPerfObject(szDataSource, szMachineName: LPCWSTR;
szDefaultObjectName: LPWSTR; var pcchBufferSize: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhGetDefaultPerfObject}
{$ELSE}
function PdhGetDefaultPerfObject(szDataSource, szMachineName: LPCSTR;
szDefaultObjectName: LPSTR; var pcchBufferSize: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhGetDefaultPerfObject}
{$ENDIF}
function PdhGetDefaultPerfCounterA(szDataSource, szMachineName, szObjectName: LPCSTR;
szDefaultCounterName: LPSTR; var pcchBufferSize: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhGetDefaultPerfCounterA}
function PdhGetDefaultPerfCounterW(szDataSource, szMachineName, szObjectName: LPCWSTR;
szDefaultCounterName: LPWSTR; var pcchBufferSize: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhGetDefaultPerfCounterW}
{$IFDEF UNICODE}
function PdhGetDefaultPerfCounter(szDataSource, szMachineName, szObjectName: LPCWSTR;
szDefaultCounterName: LPWSTR; var pcchBufferSize: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhGetDefaultPerfCounter}
{$ELSE}
function PdhGetDefaultPerfCounter(szDataSource, szMachineName, szObjectName: LPCSTR;
szDefaultCounterName: LPSTR; var pcchBufferSize: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhGetDefaultPerfCounter}
{$ENDIF}
type
CounterPathCallBack = function (dwArg: DWORD_PTR): PDH_STATUS; stdcall;
{$EXTERNALSYM CounterPathCallBack}
const
PDH_CF_INCLUDEINSTANCEINDEX = 1 shl 0;
PDH_CF_SINGLECOUNTERPERADD = 1 shl 1;
PDH_CF_SINGLECOUNTERPERDIALOG = 1 shl 2;
PDH_CF_LOCALCOUNTERSONLY = 1 shl 3;
PDH_CF_WILDCARDINSTANCES = 1 shl 4;
PDH_CF_HIDEDETAILBOX = 1 shl 5;
PDH_CF_INITIALIZEPATH = 1 shl 6;
PDH_CF_DISABLEMACHINESELECTION = 1 shl 7;
PDH_CF_INCLUDECOSTLYOBJECTS = 1 shl 8;
PDH_CF_RESERVED = DWORD($FFFFFE00);
type
PPDH_BROWSE_DLG_CONFIG_A = ^_BrowseDlgConfig_A;
{$EXTERNALSYM PPDH_BROWSE_DLG_CONFIG_A}
_BrowseDlgConfig_A = record
dwConfigFlags: DWORD;
hWndOwner: HWND;
szDataSource: LPSTR;
szReturnPathBuffer: LPSTR;
cchReturnPathLength: DWORD;
pCallBack: CounterPathCallBack;
dwCallBackArg: DWORD_PTR;
CallBackStatus: PDH_STATUS;
dwDefaultDetailLevel: DWORD;
szDialogBoxCaption: LPSTR;
end;
{$EXTERNALSYM _BrowseDlgConfig_A}
PDH_BROWSE_DLG_CONFIG_A = _BrowseDlgConfig_A;
{$EXTERNALSYM PDH_BROWSE_DLG_CONFIG_A}
TPdhBrowseDlgConfigA = PDH_BROWSE_DLG_CONFIG_A;
PPdhBrowseDlgConfigA = PPDH_BROWSE_DLG_CONFIG_A;
PPDH_BROWSE_DLG_CONFIG_W = ^_BrowseDlgConfig_W;
{$EXTERNALSYM PPDH_BROWSE_DLG_CONFIG_W}
_BrowseDlgConfig_W = record
dwConfigFlags: DWORD;
hWndOwner: HWND;
szDataSource: LPWSTR;
szReturnPathBuffer: LPWSTR;
cchReturnPathLength: DWORD;
pCallBack: CounterPathCallBack;
dwCallBackArg: DWORD_PTR;
CallBackStatus: PDH_STATUS;
dwDefaultDetailLevel: DWORD;
szDialogBoxCaption: LPWSTR;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -