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

📄 loadperf.pas

📁 详细Windows API大全有关知识以及相关问题
💻 PAS
字号:
{******************************************************************}
{                                                       	   }
{       Borland Delphi Runtime Library                  	   }
{       ACL API interface unit                                     }
{ 								   }
{ Portions created by Microsoft are 				   }
{ Copyright (C) 1995-1999 Microsoft Corporation. 		   }
{ All Rights Reserved. 						   }
{ 								   }
{ The original file is: loadperf.h, released June 2000.            }
{ The original Pascal code is: LoadPerf.pas, released Dec. 2000    }
{ The initial developer of the Pascal code is Marcel van Brakel    }
{ (brakelm@bart.nl).                      			   }
{ 								   }
{ Portions created by Marcel van Brakel are			   }
{ Copyright (C) 1999 Marcel van Brakel.				   }
{ 								   }
{ Obtained through:                               	           }
{ Joint Endeavour of Delphi Innovators (Project JEDI)              }
{								   }
{ You may retrieve the latest version of this file at the Project  }
{ JEDI home page, located at http://delphi-jedi.org                }
{								   }
{ The contents of this file are used with permission, subject to   }
{ the Mozilla Public License Version 1.1 (the "License"); you may  }
{ not use this file except in compliance with the License. You may }
{ obtain a copy of the License at                                  }
{ http://www.mozilla.org/MPL/MPL-1.1.html 	                   }
{                                                                  }
{ Software distributed under the License is distributed on an 	   }
{ "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or   }
{ implied. See the License for the specific language governing     }
{ rights and limitations under the License. 			   }
{ 								   }
{******************************************************************}

unit LoadPerf;

interface

uses
  WinType;

// flags for dwFlags Argument

const
  LOADPERF_FLAGS_DELETE_MOF_ON_EXIT  = ULONG_PTR(1);
  {$EXTERNALSYM LOADPERF_FLAGS_DELETE_MOF_ON_EXIT}
  LOADPERF_FLAGS_LOAD_REGISTRY_ONLY  = ULONG_PTR(2);
  {$EXTERNALSYM LOADPERF_FLAGS_LOAD_REGISTRY_ONLY}
  LOADPERF_FLAGS_CREATE_MOF_ONLY     = ULONG_PTR(4);
  {$EXTERNALSYM LOADPERF_FLAGS_CREATE_MOF_ONLY}
  LOADPERF_FLAGS_DISPLAY_USER_MSGS   = ULONG_PTR(8);
  {$EXTERNALSYM LOADPERF_FLAGS_DISPLAY_USER_MSGS}

// note: LOADPERF_FLAGS_LOAD_REGISTRY_ONLY is not a valid flag for
// LoadMofFromInstalledServiceA/W as the service must already be installed

function LoadMofFromInstalledServiceA(szServiceName, szMofFilename: LPCSTR;
  dwFlags: ULONG_PTR): DWORD; stdcall;
{$EXTERNALSYM LoadMofFromInstalledServiceA}
function LoadMofFromInstalledServiceW(szServiceName, szMofFilename: LPCWSTR;
  dwFlags: ULONG_PTR): DWORD; stdcall;
{$EXTERNALSYM LoadMofFromInstalledServiceW}

{$IFDEF UNICODE}
function LoadMofFromInstalledService(szServiceName, szMofFilename: LPCWSTR;
  dwFlags: ULONG_PTR): DWORD; stdcall;
{$EXTERNALSYM LoadMofFromInstalledService}
{$ELSE}
function LoadMofFromInstalledService(szServiceName, szMofFilename: LPCSTR;
  dwFlags: ULONG_PTR): DWORD; stdcall;
{$EXTERNALSYM LoadMofFromInstalledService}
{$ENDIF}

function InstallPerfDllA(szComputerName, lpIniFile: LPCSTR; dwFlags: ULONG_PTR): DWORD; stdcall;
{$EXTERNALSYM InstallPerfDllA}
function InstallPerfDllW(szComputerName, lpIniFile: LPCWSTR; dwFlags: ULONG_PTR): DWORD; stdcall;
{$EXTERNALSYM InstallPerfDllW}

{$IFDEF UNICODE}
function InstallPerfDll(szComputerName, lpIniFile: LPCWSTR; dwFlags: ULONG_PTR): DWORD; stdcall;
{$EXTERNALSYM InstallPerfDll}
{$ELSE}
function InstallPerfDll(szComputerName, lpIniFile: LPCSTR; dwFlags: ULONG_PTR): DWORD; stdcall;
{$EXTERNALSYM InstallPerfDll}
{$ENDIF}

(*
function UnInstallPerfDllA(szComputerName, lpServiceName: LPCSTR; dwFlags: ULONG_PTR): DWORD; stdcall;
{$EXTERNALSYM UnInstallPerfDllA}
function UnInstallPerfDllA(szComputerName, lpServiceName: LPCSTR; dwFlags: ULONG_PTR): DWORD; stdcall;
{$EXTERNALSYM UnInstallPerfDllA}

{$IFDEF UNICODE}
function UnInstallPerfDll(szComputerName, lpServiceName: LPCSTR; dwFlags: ULONG_PTR): DWORD; stdcall;
{$EXTERNALSYM UnInstallPerfDll}
{$ELSE}
function UnInstallPerfDll(szComputerName, lpServiceName: LPCSTR; dwFlags: ULONG_PTR): DWORD; stdcall;
{$EXTERNALSYM UnInstallPerfDll}
{$ENDIF}
*)

function LoadPerfCounterTextStringsA(lpCommandLine: LPSTR; bQuietModeArg: BOOL): DWORD; stdcall;
{$EXTERNALSYM LoadPerfCounterTextStringsA}
function LoadPerfCounterTextStringsW(lpCommandLine: LPWSTR; bQuietModeArg: BOOL): DWORD; stdcall;
{$EXTERNALSYM LoadPerfCounterTextStringsW}

{$IFDEF UNICODE}
function LoadPerfCounterTextStrings(lpCommandLine: LPWSTR; bQuietModeArg: BOOL): DWORD; stdcall;
{$EXTERNALSYM LoadPerfCounterTextStrings}
{$ELSE}
function LoadPerfCounterTextStrings(lpCommandLine: LPSTR; bQuietModeArg: BOOL): DWORD; stdcall;
{$EXTERNALSYM LoadPerfCounterTextStrings}
{$ENDIF}

function UnloadPerfCounterTextStringsA(lpCommandLine: LPSTR; bQuietModeArg: BOOL): DWORD; stdcall;
{$EXTERNALSYM UnloadPerfCounterTextStringsA}
function UnloadPerfCounterTextStringsW(lpCommandLine: LPWSTR; bQuietModeArg: BOOL): DWORD; stdcall;
{$EXTERNALSYM UnloadPerfCounterTextStringsW}

{$IFDEF UNICODE}
function UnloadPerfCounterTextStrings(lpCommandLine: LPWSTR; bQuietModeArg: BOOL): DWORD; stdcall;
{$EXTERNALSYM UnloadPerfCounterTextStrings}
{$ELSE}
function UnloadPerfCounterTextStrings(lpCommandLine: LPSTR; bQuietModeArg: BOOL): DWORD; stdcall;
{$EXTERNALSYM UnloadPerfCounterTextStrings}
{$ENDIF}

function UpdatePerfNameFilesA(szNewCtrFilePath, szNewHlpFilePath: LPCSTR;
  szLanguageID: LPSTR; dwFlags: ULONG_PTR): DWORD; stdcall;
{$EXTERNALSYM UpdatePerfNameFilesA}
function UpdatePerfNameFilesW(szNewCtrFilePath, szNewHlpFilePath: LPCWSTR;
  szLanguageID: LPWSTR; dwFlags: ULONG_PTR): DWORD; stdcall;
{$EXTERNALSYM UpdatePerfNameFilesW}

{$IFDEF UNICODE}
function UpdatePerfNameFiles(szNewCtrFilePath, szNewHlpFilePath: LPCWSTR;
  szLanguageID: LPWSTR; dwFlags: ULONG_PTR): DWORD; stdcall;
{$EXTERNALSYM UpdatePerfNameFiles}
{$ELSE}
function UpdatePerfNameFiles(szNewCtrFilePath, szNewHlpFilePath: LPCSTR;
  szLanguageID: LPSTR; dwFlags: ULONG_PTR): DWORD; stdcall;
{$EXTERNALSYM UpdatePerfNameFiles}
{$ENDIF}

function SetServiceAsTrustedA(szReserved, szServiceName: LPCSTR): DWORD; stdcall;
{$EXTERNALSYM SetServiceAsTrustedA}
function SetServiceAsTrustedW(szReserved, szServiceName: LPCWSTR): DWORD; stdcall;
{$EXTERNALSYM SetServiceAsTrustedW}

{$IFDEF UNICODE}
function SetServiceAsTrusted(szReserved, szServiceName: LPCWSTR): DWORD; stdcall;
{$EXTERNALSYM SetServiceAsTrusted}
{$ELSE}
function SetServiceAsTrusted(szReserved, szServiceName: LPCSTR): DWORD; stdcall;
{$EXTERNALSYM SetServiceAsTrusted}
{$ENDIF}

implementation

const
  loadperflib = 'loadperf.dll';

function LoadMofFromInstalledServiceA; external loadperflib name 'LoadMofFromInstalledServiceA';
function LoadMofFromInstalledServiceW; external loadperflib name 'LoadMofFromInstalledServiceW';
{$IFDEF UNICODE}
function LoadMofFromInstalledService; external loadperflib name 'LoadMofFromInstalledServiceW';
{$ELSE}
function LoadMofFromInstalledService; external loadperflib name 'LoadMofFromInstalledServiceA';
{$ENDIF}
function InstallPerfDllA; external loadperflib name 'InstallPerfDllA';
function InstallPerfDllW; external loadperflib name 'InstallPerfDllW';
{$IFDEF UNICODE}
function InstallPerfDll; external loadperflib name 'InstallPerfDllW';
{$ELSE}
function InstallPerfDll; external loadperflib name 'InstallPerfDllA';
{$ENDIF}

(*
function UnInstallPerfDllA; external loadperflib name '';
function UnInstallPerfDllA; external loadperflib name '';
{$IFDEF UNICODE}
function UnInstallPerfDll; external loadperflib name '';
{$ELSE}
function UnInstallPerfDll; external loadperflib name '';
{$ENDIF}
*)

function LoadPerfCounterTextStringsA; external loadperflib name 'LoadPerfCounterTextStringsA';
function LoadPerfCounterTextStringsW; external loadperflib name 'LoadPerfCounterTextStringsW';
{$IFDEF UNICODE}
function LoadPerfCounterTextStrings; external loadperflib name 'LoadPerfCounterTextStringsW';
{$ELSE}
function LoadPerfCounterTextStrings; external loadperflib name 'LoadPerfCounterTextStringsA';
{$ENDIF}
function UnloadPerfCounterTextStringsA; external loadperflib name 'UnloadPerfCounterTextStringsA';
function UnloadPerfCounterTextStringsW; external loadperflib name 'UnloadPerfCounterTextStringsW';
{$IFDEF UNICODE}
function UnloadPerfCounterTextStrings; external loadperflib name 'UnloadPerfCounterTextStringsW';
{$ELSE}
function UnloadPerfCounterTextStrings; external loadperflib name 'UnloadPerfCounterTextStringsA';
{$ENDIF}
function UpdatePerfNameFilesA; external loadperflib name 'UpdatePerfNameFilesA';
function UpdatePerfNameFilesW; external loadperflib name 'UpdatePerfNameFilesW';
{$IFDEF UNICODE}
function UpdatePerfNameFiles; external loadperflib name 'UpdatePerfNameFilesW';
{$ELSE}
function UpdatePerfNameFiles; external loadperflib name 'UpdatePerfNameFilesA';
{$ENDIF}
function SetServiceAsTrustedA; external loadperflib name 'SetServiceAsTrustedA';
function SetServiceAsTrustedW; external loadperflib name 'SetServiceAsTrustedW';
{$IFDEF UNICODE}
function SetServiceAsTrusted; external loadperflib name 'SetServiceAsTrustedW';
{$ELSE}
function SetServiceAsTrusted; external loadperflib name 'SetServiceAsTrustedA';
{$ENDIF}

end.

⌨️ 快捷键说明

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