⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pdh.pas

📁 详细Windows API大全有关知识以及相关问题
💻 PAS
📖 第 1 页 / 共 5 页
字号:
  {$EXTERNALSYM PDH_LOGSVC_STATUS_STOPPED}
  PDH_LOGSVC_STATUS_PAUSED    = DWORD($00004000);
  {$EXTERNALSYM PDH_LOGSVC_STATUS_PAUSED}
  PDH_LOGSVC_STATUS_ERROR     = DWORD($00008000);
  {$EXTERNALSYM PDH_LOGSVC_STATUS_ERROR}
  PDH_LOGSVC_STATUS_PENDING   = DWORD($00010000);
  {$EXTERNALSYM PDH_LOGSVC_STATUS_PENDING}

  PDH_LOGSVC_NAME_UNDEFINED   = DWORD(-1);
  {$EXTERNALSYM PDH_LOGSVC_NAME_UNDEFINED}
  PDH_LOGSVC_NAME_MMDDHH      = DWORD(0);
  {$EXTERNALSYM PDH_LOGSVC_NAME_MMDDHH}
  PDH_LOGSVC_NAME_NNNNNN      = DWORD(1);
  {$EXTERNALSYM PDH_LOGSVC_NAME_NNNNNN}
  PDH_LOGSVC_NAME_YYDDD       = DWORD(2);
  {$EXTERNALSYM PDH_LOGSVC_NAME_YYDDD}
  PDH_LOGSVC_NAME_YYMM        = DWORD(3);
  {$EXTERNALSYM PDH_LOGSVC_NAME_YYMM}
  PDH_LOGSVC_NAME_YYMMDD      = DWORD(4);
  {$EXTERNALSYM PDH_LOGSVC_NAME_YYMMDD}
  PDH_LOGSVC_NAME_YYMMDDHH    = DWORD(5);
  {$EXTERNALSYM PDH_LOGSVC_NAME_YYMMDDHH}

  PDH_LOGSVC_RENAME_UNDEFINED = DWORD(-1);
  {$EXTERNALSYM PDH_LOGSVC_RENAME_UNDEFINED}
  PDH_LOGSVC_RENAME_HOURS     = DWORD(0);
  {$EXTERNALSYM PDH_LOGSVC_RENAME_HOURS}
  PDH_LOGSVC_RENAME_DAYS      = DWORD(1);
  {$EXTERNALSYM PDH_LOGSVC_RENAME_DAYS}
  PDH_LOGSVC_RENAME_MONTHS    = DWORD(2);
  {$EXTERNALSYM PDH_LOGSVC_RENAME_MONTHS}
  PDH_LOGSVC_RENAME_KBYTES    = DWORD(3);
  {$EXTERNALSYM PDH_LOGSVC_RENAME_KBYTES}
  PDH_LOGSVC_RENAME_MBYTES    = DWORD(4);
  {$EXTERNALSYM PDH_LOGSVC_RENAME_MBYTES}

function PdhLogServiceCommandA(szMachineName, szQueryName: LPCSTR;
  dwFlags: DWORD; pdwStatus: LPDWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhLogServiceCommandA}
function PdhLogServiceCommandW(szMachineName, szQueryName: LPCWSTR;
  dwFlags: DWORD; pdwStatus: LPDWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhLogServiceCommandW}

{$IFDEF UNICODE}
function PdhLogServiceCommand(szMachineName, szQueryName: LPCWSTR;
  dwFlags: DWORD; pdwStatus: LPDWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhLogServiceCommand}
{$ELSE}
function PdhLogServiceCommand(szMachineName, szQueryName: LPCSTR;
  dwFlags: DWORD; pdwStatus: LPDWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhLogServiceCommand}
{$ENDIF}

function PdhLogServiceControlA(szMachineName, szQueryName: LPCSTR; dwFlags: DWORD;
  pInfoBuffer: PPDH_LOG_SERVICE_QUERY_INFO_A; pdwBufferSize: LPDWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhLogServiceControlA}
function PdhLogServiceControlW(szMachineName, szQueryName: LPCWSTR; dwFlags: DWORD;
  pInfoBuffer: PPDH_LOG_SERVICE_QUERY_INFO_W; pdwBufferSize: LPDWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhLogServiceControlW}

{$IFDEF UNICODE}
function PdhLogServiceControl(szMachineName, szQueryName: LPCWSTR; dwFlags: DWORD;
  pInfoBuffer: PPDH_LOG_SERVICE_QUERY_INFO_W; pdwBufferSize: LPDWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhLogServiceControl}
{$ELSE}
function PdhLogServiceControl(szMachineName, szQueryName: LPCSTR; dwFlags: DWORD;
  pInfoBuffer: PPDH_LOG_SERVICE_QUERY_INFO_A; pdwBufferSize: LPDWORD): PDH_STATUS; stdcall;
{$EXTERNALSYM PdhLogServiceControl}
{$ENDIF}

implementation

const
  PdhLib = 'pdh.dll';

function IsSuccessSeverity(ErrorCode: Longint): Boolean;
begin
  Result := (ErrorCode and $C0000000) = $00000000;
end;

function IsInformationalSeverity(ErrorCode: Longint): Boolean;
begin
  Result := (ErrorCode and $C0000000) = $40000000;
end;

function IsWarningSeverity(ErrorCode: Longint): Boolean;
begin
  Result := (ErrorCode and $C0000000) = $80000000;
end;

function IsErrorSeverity(ErrorCode: Longint): Boolean;
begin
  Result := (ErrorCode and $C0000000) = $C0000000;
end;

function PdhGetDllVersion; external PdhLib name 'PdhGetDllVersion';
function PdhOpenQueryA; external PdhLib name 'PdhOpenQueryA';
function PdhOpenQueryW; external PdhLib name 'PdhOpenQueryW';
{$IFDEF UNICODE}
function PdhOpenQuery; external PdhLib name 'PdhOpenQueryW';
{$ELSE}
function PdhOpenQuery; external PdhLib name 'PdhOpenQueryA';
{$ENDIF}
function PdhAddCounterA; external PdhLib name 'PdhAddCounterA';
function PdhAddCounterW; external PdhLib name 'PdhAddCounterW';
{$IFDEF UNICODE}
function PdhAddCounter; external PdhLib name 'PdhAddCounterW';
{$ELSE}
function PdhAddCounter; external PdhLib name 'PdhAddCounterA';
{$ENDIF}
function PdhRemoveCounter; external PdhLib name 'PdhRemoveCounter';
function PdhCollectQueryData; external PdhLib name 'PdhCollectQueryData';
function PdhCloseQuery; external PdhLib name 'PdhCloseQuery';
function PdhGetFormattedCounterValue; external PdhLib name 'PdhGetFormattedCounterValue';
function PdhGetFormattedCounterArrayA; external PdhLib name 'PdhGetFormattedCounterArrayA';
function PdhGetFormattedCounterArrayW; external PdhLib name 'PdhGetFormattedCounterArrayW';
{$IFDEF UNICODE}
function PdhGetFormattedCounterArray; external PdhLib name 'PdhGetFormattedCounterArrayW';
{$ELSE}
function PdhGetFormattedCounterArray; external PdhLib name 'PdhGetFormattedCounterArrayA';
{$ENDIF}
function PdhGetRawCounterValue; external PdhLib name 'PdhGetRawCounterValue';
function PdhGetRawCounterArrayA; external PdhLib name 'PdhGetRawCounterArrayA';
function PdhGetRawCounterArrayW; external PdhLib name 'PdhGetRawCounterArrayW';
{$IFDEF UNICODE}
function PdhGetRawCounterArray; external PdhLib name 'PdhGetRawCounterArrayW';
{$ELSE}
function PdhGetRawCounterArray; external PdhLib name 'PdhGetRawCounterArrayA';
{$ENDIF}
function PdhCalculateCounterFromRawValue; external PdhLib name 'PdhCalculateCounterFromRawValue';
function PdhComputeCounterStatistics; external PdhLib name 'PdhComputeCounterStatistics';
function PdhGetCounterInfoA; external PdhLib name 'PdhGetCounterInfoA';
function PdhGetCounterInfoW; external PdhLib name 'PdhGetCounterInfoW';
{$IFDEF UNICODE}
function PdhGetCounterInfo; external PdhLib name 'PdhGetCounterInfoW';
{$ELSE}
function PdhGetCounterInfo; external PdhLib name 'PdhGetCounterInfoA';
{$ENDIF}
function PdhSetCounterScaleFactor; external PdhLib name 'PdhSetCounterScaleFactor';
function PdhConnectMachineA; external PdhLib name 'PdhConnectMachineA';
function PdhConnectMachineW; external PdhLib name 'PdhConnectMachineW';
{$IFDEF UNICODE}
function PdhConnectMachine; external PdhLib name 'PdhConnectMachineW';
{$ELSE}
function PdhConnectMachine; external PdhLib name 'PdhConnectMachineA';
{$ENDIF}
function PdhEnumMachinesA; external PdhLib name 'PdhEnumMachinesA';
function PdhEnumMachinesW; external PdhLib name 'PdhEnumMachinesW';
{$IFDEF UNICODE}
function PdhEnumMachines; external PdhLib name 'PdhEnumMachinesW';
{$ELSE}
function PdhEnumMachines; external PdhLib name 'PdhEnumMachinesA';
{$ENDIF}
function PdhEnumObjectsA; external PdhLib name 'PdhEnumObjectsA';
function PdhEnumObjectsW; external PdhLib name 'PdhEnumObjectsW';
{$IFDEF UNICODE}
function PdhEnumObjects; external PdhLib name 'PdhEnumObjectsW';
{$ELSE}
function PdhEnumObjects; external PdhLib name 'PdhEnumObjectsA';
{$ENDIF}
function PdhEnumObjectItemsA; external PdhLib name 'PdhEnumObjectItemsA';
function PdhEnumObjectItemsW; external PdhLib name 'PdhEnumObjectItemsW';
{$IFDEF UNICODE}
function PdhEnumObjectItems; external PdhLib name 'PdhEnumObjectItemsW';
{$ELSE}
function PdhEnumObjectItems; external PdhLib name 'PdhEnumObjectItemsA';
{$ENDIF}
function PdhMakeCounterPathA; external PdhLib name 'PdhMakeCounterPathA';
function PdhMakeCounterPathW; external PdhLib name 'PdhMakeCounterPathW';
{$IFDEF UNICODE}
function PdhMakeCounterPath; external PdhLib name 'PdhMakeCounterPathW';
{$ELSE}
function PdhMakeCounterPath; external PdhLib name 'PdhMakeCounterPathA';
{$ENDIF}
function PdhParseCounterPathA; external PdhLib name 'PdhParseCounterPathA';
function PdhParseCounterPathW; external PdhLib name 'PdhParseCounterPathW';
{$IFDEF UNICODE}
function PdhParseCounterPath; external PdhLib name 'PdhParseCounterPathW';
{$ELSE}
function PdhParseCounterPath; external PdhLib name 'PdhParseCounterPathA';
{$ENDIF}

function PDH_PATH_LANG_FLAGS(LangId, Flags: DWORD): DWORD;
begin
  Result := DWORD(((LangId and $0000FFFF) shl 16) or (Flags and $0000FFFF));
end;

function PdhParseInstanceNameA; external PdhLib name 'PdhParseInstanceNameA';
function PdhParseInstanceNameW; external PdhLib name 'PdhParseInstanceNameW';
{$IFDEF UNICODE}
function PdhParseInstanceName; external PdhLib name 'PdhParseInstanceNameW';
{$ELSE}
function PdhParseInstanceName; external PdhLib name 'PdhParseInstanceNameA';
{$ENDIF}
function PdhValidatePathA; external PdhLib name 'PdhValidatePathA';
function PdhValidatePathW; external PdhLib name 'PdhValidatePathW';
{$IFDEF UNICODE}
function PdhValidatePath; external PdhLib name 'PdhValidatePathW';
{$ELSE}
function PdhValidatePath; external PdhLib name 'PdhValidatePathA';
{$ENDIF}
function PdhGetDefaultPerfObjectA; external PdhLib name 'PdhGetDefaultPerfObjectA';
function PdhGetDefaultPerfObjectW; external PdhLib name 'PdhGetDefaultPerfObjectW';
{$IFDEF UNICODE}
function PdhGetDefaultPerfObject; external PdhLib name 'PdhGetDefaultPerfObjectW';
{$ELSE}
function PdhGetDefaultPerfObject; external PdhLib name 'PdhGetDefaultPerfObjectA';
{$ENDIF}
function PdhGetDefaultPerfCounterA; external PdhLib name 'PdhGetDefaultPerfCounterA';
function PdhGetDefaultPerfCounterW; external PdhLib name 'PdhGetDefaultPerfCounterW';
{$IFDEF UNICODE}
function PdhGetDefaultPerfCounter; external PdhLib name 'PdhGetDefaultPerfCounterW';
{$ELSE}
function PdhGetDefaultPerfCounter; external PdhLib name 'PdhGetDefaultPerfCounterA';
{$ENDIF}
function PdhBrowseCountersA; external PdhLib name 'PdhBrowseCountersA';
function PdhBrowseCountersW; external PdhLib name 'PdhBrowseCountersW';
{$IFDEF UNICODE}
function PdhBrowseCounters; external PdhLib name 'PdhBrowseCountersW';
{$ELSE}
function PdhBrowseCounters; external PdhLib name 'PdhBrowseCountersA';
{$ENDIF}
function PdhExpandCounterPathA; external PdhLib name 'PdhExpandCounterPathA';
function PdhExpandCounterPathW; external PdhLib name 'PdhExpandCounterPathW';
{$IFDEF UNICODE}
function PdhExpandCounterPath; external PdhLib name 'PdhExpandCounterPathW';
{$ELSE}
function PdhExpandCounterPath; external PdhLib name 'PdhExpandCounterPathA';
{$ENDIF}
function PdhLookupPerfNameByIndexA; external PdhLib name 'PdhLookupPerfNameByIndexA';
function PdhLookupPerfNameByIndexW; external PdhLib name 'PdhLookupPerfNameByIndexW';
{$IFDEF UNICODE}
function PdhLookupPerfNameByIndex; external PdhLib name 'PdhLookupPerfNameByIndexW';
{$ELSE}
function PdhLookupPerfNameByIndex; external PdhLib name 'PdhLookupPerfNameByIndexA';
{$ENDIF}
function PdhLookupPerfIndexByNameA; external PdhLib name 'PdhLookupPerfIndexByNameA';
function PdhLookupPerfIndexByNameW; external PdhLib name 'PdhLookupPerfIndexByNameW';
{$IFDEF UNICODE}
function PdhLookupPerfIndexByName; external PdhLib name 'PdhLookupPerfIndexByNameW';
{$ELSE}
function PdhLookupPerfIndexByName; external PdhLib name 'PdhLookupPerfIndexByNameA';
{$ENDIF}
function PdhExpandWildCardPathA; external PdhLib name 'PdhExpandWildCardPathA';
function PdhExpandWildCardPathW; external PdhLib name 'PdhExpandWildCardPathW';
{$IFDEF UNICODE}
function PdhExpandWildCardPath; external PdhLib name 'PdhExpandWildCardPathW';
{$ELSE}
function PdhExpandWildCardPath; external PdhLib name 'PdhExpandWildCardPathA';
{$ENDIF}
function PdhOpenLogA; external PdhLib name 'PdhOpenLogA';
function PdhOpenLogW; external PdhLib name 'PdhOpenLogW';
{$IFDEF UNICODE}
function PdhOpenLog; external PdhLib name 'PdhOpenLogW';
{$ELSE}
function PdhOpenLog; external PdhLib name 'PdhOpenLogA';
{$ENDIF}
function PdhUpdateLogA; external PdhLib name 'PdhUpdateLogA';
function PdhUpdateLogW; external PdhLib name 'PdhUpdateLogW';
{$IFDEF UNICODE}
function PdhUpdateLog; external PdhLib name 'PdhUpdateLogW';
{$ELSE}
function PdhUpdateLog; external PdhLib name 'PdhUpdateLogA';
{$ENDIF}
function PdhUpdateLogFileCatalog; external PdhLib name 'PdhUpdateLogFileCatalog';
function PdhGetLogFileSize; external PdhLib name 'PdhGetLogFileSize';
function PdhCloseLog; external PdhLib name 'PdhCloseLog';
function PdhSelectDataSourceA; external PdhLib name 'PdhSelectDataSourceA';
function PdhSelectDataSourceW; external PdhLib name 'PdhSelectDataSourceW';
{$IFDEF UNICODE}
function PdhSelectDataSource; external PdhLib name 'PdhSelectDataSourceW';
{$ELSE}
function PdhSelectDataSource; external PdhLib name 'PdhSelectDataSourceA';
{$ENDIF}
function PdhIsRealTimeQuery; external PdhLib name 'PdhIsRealTimeQuery';
function PdhSetQueryTimeRange; external PdhLib name 'PdhSetQueryTimeRange';
function PdhGetDataSourceTimeRangeA; external PdhLib name 'PdhGetDataSourceTimeRangeA';
function PdhGetDataSourceTimeRangeW; external PdhLib name 'PdhGetDataSourceTimeRangeW';
{$IFDEF UNICODE}
function PdhGetDataSourceTimeRange; external PdhLib name 'PdhGetDataSourceTimeRangeW';
{$ELSE}
function PdhGetDataSourceTimeRange; external PdhLib name 'PdhGetDataSourceTimeRangeA';
{$ENDIF}
function PdhCollectQueryDataEx; external PdhLib name 'PdhCollectQueryDataEx';
function PdhFormatFromRawValue; external PdhLib name 'PdhFormatFromRawValue';
function PdhGetCounterTimeBase; external PdhLib name 'PdhGetCounterTimeBase';
function PdhReadRawLogRecord; external PdhLib name 'PdhReadRawLogRecord';
function PdhSetDefaultRealTimeDataSource; external PdhLib name 'PdhSetDefaultRealTimeDataSource';
function PdhLogServiceCommandA; external PdhLib name 'PdhLogServiceCommandA';
function PdhLogServiceCommandW; external PdhLib name 'PdhLogServiceCommandW';
{$IFDEF UNICODE}
function PdhLogServiceCommand; external PdhLib name 'PdhLogServiceCommandW';
{$ELSE}
function PdhLogServiceCommand; external PdhLib name 'PdhLogServiceCommandA';
{$ENDIF}
function PdhLogServiceControlA; external PdhLib name 'PdhLogServiceControlA';
function PdhLogServiceControlW; external PdhLib name 'PdhLogServiceControlW';
{$IFDEF UNICODE}
function PdhLogServiceControl; external PdhLib name 'PdhLogServiceControlW';
{$ELSE}
function PdhLogServiceControl; external PdhLib name 'PdhLogServiceControlA';
{$ENDIF}

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -