📄 pdh.pas
字号:
{$EXTERNALSYM _BrowseDlgConfig_W}
PDH_BROWSE_DLG_CONFIG_W = _BrowseDlgConfig_W;
{$EXTERNALSYM PDH_BROWSE_DLG_CONFIG_W}
TPdhBrowseDlgConfigW = PDH_BROWSE_DLG_CONFIG_W;
PPdhBrowseDlgConfigW = PPDH_BROWSE_DLG_CONFIG_W;
{$IFDEF UNICODE}
PPdhBrowseDlgConfig = PPdhBrowseDlgConfigW;
PDH_BROWSE_DLG_CONFIG = PDH_BROWSE_DLG_CONFIG_W;
{$EXTERNALSYM PDH_BROWSE_DLG_CONFIG}
PPDH_BROWSE_DLG_CONFIG = PPDH_BROWSE_DLG_CONFIG_W;
{$EXTERNALSYM PPDH_BROWSE_DLG_CONFIG}
TPdhBrowseDlgConfig = TPdhBrowseDlgConfigW;
{$ELSE}
PPdhBrowseDlgConfig = PPdhBrowseDlgConfigA;
PDH_BROWSE_DLG_CONFIG = PDH_BROWSE_DLG_CONFIG_A;
{$EXTERNALSYM PDH_BROWSE_DLG_CONFIG}
PPDH_BROWSE_DLG_CONFIG = PPDH_BROWSE_DLG_CONFIG_A;
{$EXTERNALSYM PPDH_BROWSE_DLG_CONFIG}
TPdhBrowseDlgConfig = TPdhBrowseDlgConfigA;
{$ENDIF}
function PdhBrowseCountersA(const pBrowseDlgData: PDH_BROWSE_DLG_CONFIG_A): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhBrowseCountersA}
function PdhBrowseCountersW(const pBrowseDlgData: PDH_BROWSE_DLG_CONFIG_W): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhBrowseCountersW}
{$IFDEF UNICODE}
function PdhBrowseCounters(const pBrowseDlgData: PDH_BROWSE_DLG_CONFIG_W): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhBrowseCounters}
{$ELSE}
function PdhBrowseCounters(const pBrowseDlgData: PDH_BROWSE_DLG_CONFIG_A): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhBrowseCounters}
{$ENDIF}
function PdhExpandCounterPathA(szWildCardPath: LPCSTR; mszExpandedPathList: LPSTR;
var pcchPathListLength: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhExpandCounterPathA}
function PdhExpandCounterPathW(szWildCardPath: LPCWSTR; mszExpandedPathList: LPWSTR;
var pcchPathListLength: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhExpandCounterPathW}
{$IFDEF UNICODE}
function PdhExpandCounterPath(szWildCardPath: LPCWSTR; mszExpandedPathList: LPWSTR;
var pcchPathListLength: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhExpandCounterPath}
{$ELSE}
function PdhExpandCounterPath(szWildCardPath: LPCSTR; mszExpandedPathList: LPSTR;
var pcchPathListLength: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhExpandCounterPath}
{$ENDIF}
//
// v2.0 functions
//
function PdhLookupPerfNameByIndexA(szMachineName: LPCSTR; dwNameIndex: DWORD;
szNameBuffer: LPSTR; var pcchNameBufferSize: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhLookupPerfNameByIndexA}
function PdhLookupPerfNameByIndexW(szMachineName: LPCWSTR; dwNameIndex: DWORD;
szNameBuffer: LPWSTR; var pcchNameBufferSize: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhLookupPerfNameByIndexW}
{$IFDEF UNICODE}
function PdhLookupPerfNameByIndex(szMachineName: LPCWSTR; dwNameIndex: DWORD;
szNameBuffer: LPWSTR; var pcchNameBufferSize: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhLookupPerfNameByIndex}
{$ELSE}
function PdhLookupPerfNameByIndex(szMachineName: LPCSTR; dwNameIndex: DWORD;
szNameBuffer: LPSTR; var pcchNameBufferSize: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhLookupPerfNameByIndex}
{$ENDIF}
function PdhLookupPerfIndexByNameA(szMachineName, szNameBuffer: LPCSTR;
var pdwIndex: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhLookupPerfIndexByNameA}
function PdhLookupPerfIndexByNameW(szMachineName, szNameBuffer: LPCWSTR;
var pdwIndex: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhLookupPerfIndexByNameW}
{$IFDEF UNICODE}
function PdhLookupPerfIndexByName(szMachineName, szNameBuffer: LPCWSTR;
var pdwIndex: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhLookupPerfIndexByName}
{$ELSE}
function PdhLookupPerfIndexByName(szMachineName, szNameBuffer: LPCSTR;
var pdwIndex: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhLookupPerfIndexByName}
{$ENDIF}
const
PDH_NOEXPANDCOUNTERS = 1;
{$EXTERNALSYM PDH_NOEXPANDCOUNTERS}
PDH_NOEXPANDINSTANCES = 2;
{$EXTERNALSYM PDH_NOEXPANDINSTANCES}
function PdhExpandWildCardPathA(szDataSource, szWildCardPath: LPCSTR;
mszExpandedPathList: LPSTR; var pcchPathListLength: DWORD; dwFlags: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhExpandWildCardPathA}
function PdhExpandWildCardPathW(szDataSource, szWildCardPath: LPCWSTR;
mszExpandedPathList: LPWSTR; var pcchPathListLength: DWORD; dwFlags: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhExpandWildCardPathW}
{$IFDEF UNICODE}
function PdhExpandWildCardPath(szDataSource, szWildCardPath: LPCWSTR;
mszExpandedPathList: LPWSTR; var pcchPathListLength: DWORD; dwFlags: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhExpandWildCardPath}
{$ELSE}
function PdhExpandWildCardPath(szDataSource, szWildCardPath: LPCSTR;
mszExpandedPathList: LPSTR; var pcchPathListLength: DWORD; dwFlags: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhExpandWildCardPath}
{$ENDIF}
//
// Logging Functions
//
const
PDH_LOG_READ_ACCESS = DWORD($00010000);
{$EXTERNALSYM PDH_LOG_READ_ACCESS}
PDH_LOG_WRITE_ACCESS = DWORD($00020000);
{$EXTERNALSYM PDH_LOG_WRITE_ACCESS}
PDH_LOG_UPDATE_ACCESS = DWORD($00040000);
{$EXTERNALSYM PDH_LOG_UPDATE_ACCESS}
PDH_LOG_ACCESS_MASK = DWORD($000F0000);
{$EXTERNALSYM PDH_LOG_ACCESS_MASK}
PDH_LOG_CREATE_NEW = DWORD($00000001);
{$EXTERNALSYM PDH_LOG_CREATE_NEW}
PDH_LOG_CREATE_ALWAYS = DWORD($00000002);
{$EXTERNALSYM PDH_LOG_CREATE_ALWAYS}
PDH_LOG_OPEN_ALWAYS = DWORD($00000003);
{$EXTERNALSYM PDH_LOG_OPEN_ALWAYS}
PDH_LOG_OPEN_EXISTING = DWORD($00000004);
{$EXTERNALSYM PDH_LOG_OPEN_EXISTING}
PDH_LOG_CREATE_MASK = DWORD($0000000F);
{$EXTERNALSYM PDH_LOG_CREATE_MASK}
PDH_LOG_OPT_USER_STRING = DWORD($01000000);
{$EXTERNALSYM PDH_LOG_OPT_USER_STRING}
PDH_LOG_OPT_CIRCULAR = DWORD($02000000);
{$EXTERNALSYM PDH_LOG_OPT_CIRCULAR}
PDH_LOG_OPT_MAX_IS_BYTES = DWORD($04000000);
{$EXTERNALSYM PDH_LOG_OPT_MAX_IS_BYTES}
PDH_LOG_OPT_MASK = DWORD($0F000000);
{$EXTERNALSYM PDH_LOG_OPT_MASK}
PDH_LOG_TYPE_UNDEFINED = 0;
{$EXTERNALSYM PDH_LOG_TYPE_UNDEFINED}
PDH_LOG_TYPE_CSV = 1;
{$EXTERNALSYM PDH_LOG_TYPE_CSV}
PDH_LOG_TYPE_TSV = 2;
{$EXTERNALSYM PDH_LOG_TYPE_TSV}
PDH_LOG_TYPE_BINARY = 3;
{$EXTERNALSYM PDH_LOG_TYPE_BINARY}
PDH_LOG_TYPE_TRACE_KERNEL = 4;
{$EXTERNALSYM PDH_LOG_TYPE_TRACE_KERNEL}
PDH_LOG_TYPE_TRACE_GENERIC = 5;
{$EXTERNALSYM PDH_LOG_TYPE_TRACE_GENERIC}
PDH_LOG_TYPE_PERFMON = 6;
{$EXTERNALSYM PDH_LOG_TYPE_PERFMON}
function PdhOpenLogA(szLogFileName: LPCSTR; dwAccessFlags: DWORD;
lpdwLogType: LPDWORD; hQuery: HQUERY; dwMaxRecords: DWORD;
szUserCaption: LPCSTR; var phLog: HLOG): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhOpenLogA}
function PdhOpenLogW(szLogFileName: LPCWSTR; dwAccessFlags: DWORD;
lpdwLogType: LPDWORD; hQuery: HQUERY; dwMaxRecords: DWORD;
szUserCaption: LPCWSTR; var phLog: HLOG): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhOpenLogW}
{$IFDEF UNICODE}
function PdhOpenLog(szLogFileName: LPCWSTR; dwAccessFlags: DWORD;
lpdwLogType: LPDWORD; hQuery: HQUERY; dwMaxRecords: DWORD;
szUserCaption: LPCWSTR; var phLog: HLOG): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhOpenLog}
{$ELSE}
function PdhOpenLog(szLogFileName: LPCSTR; dwAccessFlags: DWORD;
lpdwLogType: LPDWORD; hQuery: HQUERY; dwMaxRecords: DWORD;
szUserCaption: LPCSTR; var phLog: HLOG): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhOpenLog}
{$ENDIF}
function PdhUpdateLogA(hLog: HLOG; szUserString: LPCSTR): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhUpdateLogA}
function PdhUpdateLogW(hLog: HLOG; szUserString: LPCWSTR): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhUpdateLogW}
{$IFDEF UNICODE}
function PdhUpdateLog(hLog: HLOG; szUserString: LPCWSTR): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhUpdateLog}
{$ELSE}
function PdhUpdateLog(hLog: HLOG; szUserString: LPCSTR): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhUpdateLog}
{$ENDIF}
function PdhUpdateLogFileCatalog(hLog: HLOG): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhUpdateLogFileCatalog}
function PdhGetLogFileSize(hLog: HLOG; var llSize: LONGLONG): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhGetLogFileSize}
function PdhCloseLog(hLog: HLOG; dwFlags: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhCloseLog}
const
PDH_FLAGS_CLOSE_QUERY = DWORD($00000001);
{$EXTERNALSYM PDH_FLAGS_CLOSE_QUERY}
//
// Data source selection dialog
//
const
PDH_FLAGS_FILE_BROWSER_ONLY = DWORD($00000001);
{$EXTERNALSYM PDH_FLAGS_FILE_BROWSER_ONLY}
function PdhSelectDataSourceA(hWndOwner: HWND; dwFlags: DWORD;
szDataSource: LPSTR; var pcchBufferLength: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhSelectDataSourceA}
function PdhSelectDataSourceW(hWndOwner: HWND; dwFlags: DWORD;
szDataSource: LPWSTR; var pcchBufferLength: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhSelectDataSourceW}
{$IFDEF UNICODE}
function PdhSelectDataSource(hWndOwner: HWND; dwFlags: DWORD;
szDataSource: LPWSTR; var pcchBufferLength: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhSelectDataSource}
{$ELSE}
function PdhSelectDataSource(hWndOwner: HWND; dwFlags: DWORD;
szDataSource: LPSTR; var pcchBufferLength: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhSelectDataSource}
{$ENDIF}
function PdhIsRealTimeQuery(hQuery: HQUERY): BOOL; stdcall;
{$EXTERNALSYM PdhIsRealTimeQuery}
function PdhSetQueryTimeRange(hQuery: HQUERY; var pInfo: PDH_TIME_INFO): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhSetQueryTimeRange}
function PdhGetDataSourceTimeRangeA(szDataSource: LPCSTR; var pdwNumEntries: DWORD;
var pInfo: PDH_TIME_INFO; pdwBufferSize: LPDWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhGetDataSourceTimeRangeA}
function PdhGetDataSourceTimeRangeW(szDataSource: LPCWSTR; var pdwNumEntries: DWORD;
var pInfo: PDH_TIME_INFO; pdwBufferSize: LPDWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhGetDataSourceTimeRangeW}
{$IFDEF UNICODE}
function PdhGetDataSourceTimeRange(szDataSource: LPCWSTR; var pdwNumEntries: DWORD;
var pInfo: PDH_TIME_INFO; pdwBufferSize: LPDWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhGetDataSourceTimeRange}
{$ELSE}
function PdhGetDataSourceTimeRange(szDataSource: LPCSTR; var pdwNumEntries: DWORD;
var pInfo: PDH_TIME_INFO; pdwBufferSize: LPDWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhGetDataSourceTimeRange}
{$ENDIF}
function PdhCollectQueryDataEx(hQuery: HQUERY; dwIntervalTime: DWORD;
hNewDataEvent: HANDLE): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhCollectQueryDataEx}
function PdhFormatFromRawValue(dwCounterType, dwFormat: DWORD;
var pTimeBase: LONGLONG; pRawValue1, pRawValue2: PPDH_RAW_COUNTER;
var pFmtValue: PDH_FMT_COUNTERVALUE): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhFormatFromRawValue}
function PdhGetCounterTimeBase(hCounter: HCOUNTER; var pTimeBase: LONGLONG): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhGetCounterTimeBase}
function PdhReadRawLogRecord(hLog: HLOG; ftRecord: FILETIME;
var pRawLogRecord: PDH_RAW_LOG_RECORD; pdwBufferLength: LPDWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhReadRawLogRecord}
const
DATA_SOURCE_REGISTRY = DWORD($00000001);
{$EXTERNALSYM DATA_SOURCE_REGISTRY}
DATA_SOURCE_LOGFILE = DWORD($00000002);
{$EXTERNALSYM DATA_SOURCE_LOGFILE}
DATA_SOURCE_WBEM = DWORD($00000004);
{$EXTERNALSYM DATA_SOURCE_WBEM}
function PdhSetDefaultRealTimeDataSource(dwDataSourceId: DWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhSetDefaultRealTimeDataSource}
// flags for the log service api's
const
PDH_LOGSVC_NO_WAIT = DWORD($80000000);
{$EXTERNALSYM PDH_LOGSVC_NO_WAIT}
PDH_LOGSVC_ALL_QUERIES = DWORD($00000001);
{$EXTERNALSYM PDH_LOGSVC_ALL_QUERIES}
PDH_LOGSVC_TRACE_LOG = DWORD($00000002);
{$EXTERNALSYM PDH_LOGSVC_TRACE_LOG}
PDH_LOGSVC_CMD_START = DWORD($00000010);
{$EXTERNALSYM PDH_LOGSVC_CMD_START}
PDH_LOGSVC_CMD_STOP = DWORD($00000020);
{$EXTERNALSYM PDH_LOGSVC_CMD_STOP}
PDH_LOGSVC_CTRL_ADD = DWORD($00000100);
{$EXTERNALSYM PDH_LOGSVC_CTRL_ADD}
PDH_LOGSVC_CTRL_REMOVE = DWORD($00000200);
{$EXTERNALSYM PDH_LOGSVC_CTRL_REMOVE}
PDH_LOGSVC_CTRL_INFO = DWORD($00000400);
{$EXTERNALSYM PDH_LOGSVC_CTRL_INFO}
PDH_LOGSVC_STATUS_RUNNING = DWORD($00001000);
{$EXTERNALSYM PDH_LOGSVC_STATUS_RUNNING}
PDH_LOGSVC_STATUS_STOPPED = DWORD($00002000);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -