123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592 |
- {******************************************************************************}
- { }
- { Power Policy Applicator interface Unit for Object Pascal }
- { }
- { Portions created by Microsoft are Copyright (C) 1995-2001 Microsoft }
- { Corporation. All Rights Reserved. }
- { }
- { The original file is: powrprof.h, released June 2000. The original Pascal }
- { code is: PowrProf.pas, released August 2001. The initial developer of the }
- { Pascal code is Marcel van Brakel (brakelm att chello dott nl). }
- { }
- { Portions created by Marcel van Brakel are Copyright (C) 1999-2001 }
- { Marcel van Brakel. All Rights Reserved. }
- { }
- { Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI) }
- { }
- { You may retrieve the latest version of this file at the Project JEDI }
- { APILIB home page, located at http://jedi-apilib.sourceforge.net }
- { }
- { 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. }
- { }
- { Alternatively, the contents of this file may be used under the terms of the }
- { GNU Lesser General Public License (the "LGPL License"), in which case the }
- { provisions of the LGPL License are applicable instead of those above. }
- { If you wish to allow use of your version of this file only under the terms }
- { of the LGPL License and not to allow others to use your version of this file }
- { under the MPL, indicate your decision by deleting the provisions above and }
- { replace them with the notice and other provisions required by the LGPL }
- { License. If you do not delete the provisions above, a recipient may use }
- { your version of this file under either the MPL or the LGPL License. }
- { }
- { For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
- { }
- {******************************************************************************}
- // $Id: JwaPowrProf.pas,v 1.10 2005/09/06 16:36:50 marquardt Exp $
- unit JwaPowrProf;
- {$WEAKPACKAGEUNIT}
- {$HPPEMIT ''}
- {$HPPEMIT '#include "powrprof.h"'}
- {$HPPEMIT ''}
- {$I jediapilib.inc}
- interface
- uses
- JwaWindows;
- // Registry storage structures for the GLOBAL_POWER_POLICY data. There are two
- // structures, GLOBAL_MACHINE_POWER_POLICY and GLOBAL_USER_POWER_POLICY. the
- // GLOBAL_MACHINE_POWER_POLICY stores per machine data for which there is no UI.
- // GLOBAL_USER_POWER_POLICY stores the per user data.
- type
- PGLOBAL_MACHINE_POWER_POLICY = ^GLOBAL_MACHINE_POWER_POLICY;
- {$EXTERNALSYM PGLOBAL_MACHINE_POWER_POLICY}
- _GLOBAL_MACHINE_POWER_POLICY = record
- Revision: ULONG;
- LidOpenWakeAc: SYSTEM_POWER_STATE;
- LidOpenWakeDc: SYSTEM_POWER_STATE;
- BroadcastCapacityResolution: ULONG;
- end;
- {$EXTERNALSYM _GLOBAL_MACHINE_POWER_POLICY}
- GLOBAL_MACHINE_POWER_POLICY = _GLOBAL_MACHINE_POWER_POLICY;
- {$EXTERNALSYM GLOBAL_MACHINE_POWER_POLICY}
- TGlobalMachinePowerPolicy = GLOBAL_MACHINE_POWER_POLICY;
- PGlobalMachinePowerPolicy = PGLOBAL_MACHINE_POWER_POLICY;
- PGLOBAL_USER_POWER_POLICY = ^GLOBAL_USER_POWER_POLICY;
- {$EXTERNALSYM PGLOBAL_USER_POWER_POLICY}
- _GLOBAL_USER_POWER_POLICY = record
- Revision: ULONG;
- PowerButtonAc: POWER_ACTION_POLICY;
- PowerButtonDc: POWER_ACTION_POLICY;
- SleepButtonAc: POWER_ACTION_POLICY;
- SleepButtonDc: POWER_ACTION_POLICY;
- LidCloseAc: POWER_ACTION_POLICY;
- LidCloseDc: POWER_ACTION_POLICY;
- DischargePolicy: array [0..NUM_DISCHARGE_POLICIES - 1] of SYSTEM_POWER_LEVEL;
- GlobalFlags: ULONG;
- end;
- {$EXTERNALSYM _GLOBAL_USER_POWER_POLICY}
- GLOBAL_USER_POWER_POLICY = _GLOBAL_USER_POWER_POLICY;
- {$EXTERNALSYM GLOBAL_USER_POWER_POLICY}
- TGlobalUserPowerPolicy = GLOBAL_USER_POWER_POLICY;
- PGlobalUserPowerPolicy = PGLOBAL_USER_POWER_POLICY;
- // Structure to manage global power policies at the user level. This structure
- // contains data which is common across all power policy profiles.
- PGLOBAL_POWER_POLICY = ^GLOBAL_POWER_POLICY;
- {$EXTERNALSYM PGLOBAL_POWER_POLICY}
- _GLOBAL_POWER_POLICY = record
- user: GLOBAL_USER_POWER_POLICY;
- mach: GLOBAL_MACHINE_POWER_POLICY;
- end;
- {$EXTERNALSYM _GLOBAL_POWER_POLICY}
- GLOBAL_POWER_POLICY = _GLOBAL_POWER_POLICY;
- {$EXTERNALSYM GLOBAL_POWER_POLICY}
- TGlobalPowerPolicy = GLOBAL_POWER_POLICY;
- PGlobalPowerPolicy = PGLOBAL_POWER_POLICY;
- // Registry storage structures for the POWER_POLICY data. There are three
- // structures, MACHINE_POWER_POLICY, MACHINE_PROCESSOR_POWER_POLICY and USER_POWER_POLICY. the
- // MACHINE_POWER_POLICY stores per machine data for which there is no UI.
- // USER_POWER_POLICY stores the per user data.
- PMACHINE_POWER_POLICY = ^MACHINE_POWER_POLICY;
- {$EXTERNALSYM PMACHINE_POWER_POLICY}
- _MACHINE_POWER_POLICY = record
- Revision: ULONG; // 1
- // meaning of power action "sleep"
- MinSleepAc: SYSTEM_POWER_STATE;
- MinSleepDc: SYSTEM_POWER_STATE;
- ReducedLatencySleepAc: SYSTEM_POWER_STATE;
- ReducedLatencySleepDc: SYSTEM_POWER_STATE;
- // parameters for dozing
- DozeTimeoutAc: ULONG;
- DozeTimeoutDc: ULONG;
- DozeS4TimeoutAc: ULONG;
- DozeS4TimeoutDc: ULONG;
- // processor policies
- MinThrottleAc: UCHAR;
- MinThrottleDc: UCHAR;
- pad1: array [0..1] of UCHAR;
- OverThrottledAc: POWER_ACTION_POLICY;
- OverThrottledDc: POWER_ACTION_POLICY;
- end;
- {$EXTERNALSYM _MACHINE_POWER_POLICY}
- MACHINE_POWER_POLICY = _MACHINE_POWER_POLICY;
- {$EXTERNALSYM MACHINE_POWER_POLICY}
- TMachinePowerPolicy = MACHINE_POWER_POLICY;
- PMachinePowerPolicy = PMACHINE_POWER_POLICY;
- PMACHINE_PROCESSOR_POWER_POLICY = ^MACHINE_PROCESSOR_POWER_POLICY;
- {$EXTERNALSYM PMACHINE_PROCESSOR_POWER_POLICY}
- _MACHINE_PROCESSOR_POWER_POLICY = record
- Revision: ULONG; // 1
- ProcessorPolicyAc: PROCESSOR_POWER_POLICY;
- ProcessorPolicyDc: PROCESSOR_POWER_POLICY;
- end;
- {$EXTERNALSYM _MACHINE_PROCESSOR_POWER_POLICY}
- MACHINE_PROCESSOR_POWER_POLICY = _MACHINE_PROCESSOR_POWER_POLICY;
- {$EXTERNALSYM MACHINE_PROCESSOR_POWER_POLICY}
- TMachineProcessorPowerPolicy = MACHINE_PROCESSOR_POWER_POLICY;
- PMachineProcessorPowerPolicy = PMACHINE_PROCESSOR_POWER_POLICY;
- PUSER_POWER_POLICY = ^USER_POWER_POLICY;
- {$EXTERNALSYM PUSER_POWER_POLICY}
- _USER_POWER_POLICY = record
- Revision: ULONG; // 1
- // "system idle" detection
- IdleAc: POWER_ACTION_POLICY;
- IdleDc: POWER_ACTION_POLICY;
- IdleTimeoutAc: ULONG;
- IdleTimeoutDc: ULONG;
- IdleSensitivityAc: UCHAR;
- IdleSensitivityDc: UCHAR;
- // Throttling Policy
- ThrottlePolicyAc: UCHAR;
- ThrottlePolicyDc: UCHAR;
- // meaning of power action "sleep"
- MaxSleepAc: SYSTEM_POWER_STATE;
- MaxSleepDc: SYSTEM_POWER_STATE;
- // For future use
- Reserved: array [0..1] of ULONG;
- // video policies
- VideoTimeoutAc: ULONG;
- VideoTimeoutDc: ULONG;
- // hard disk policies
- SpindownTimeoutAc: ULONG;
- SpindownTimeoutDc: ULONG;
- // processor policies
- OptimizeForPowerAc: ByteBool;
- OptimizeForPowerDc: ByteBool;
- FanThrottleToleranceAc: UCHAR;
- FanThrottleToleranceDc: UCHAR;
- ForcedThrottleAc: UCHAR;
- ForcedThrottleDc: UCHAR;
- end;
- {$EXTERNALSYM _USER_POWER_POLICY}
- USER_POWER_POLICY = _USER_POWER_POLICY;
- {$EXTERNALSYM USER_POWER_POLICY}
- TUserPowerPolicy = USER_POWER_POLICY;
- PUserPowerPolicy = PUSER_POWER_POLICY;
- // Structure to manage power policies at the user level. This structure
- // contains data which is unique across power policy profiles.
- PPOWER_POLICY = ^POWER_POLICY;
- {$EXTERNALSYM PPOWER_POLICY}
- _POWER_POLICY = record
- user: USER_POWER_POLICY;
- mach: MACHINE_POWER_POLICY;
- end;
- {$EXTERNALSYM _POWER_POLICY}
- POWER_POLICY = _POWER_POLICY;
- {$EXTERNALSYM POWER_POLICY}
- TPowerPolicy = POWER_POLICY;
- PPowerPolicy = PPOWER_POLICY;
- // Constants for GlobalFlags
- const
- EnableSysTrayBatteryMeter = $01;
- {$EXTERNALSYM EnableSysTrayBatteryMeter}
- EnableMultiBatteryDisplay = $02;
- {$EXTERNALSYM EnableMultiBatteryDisplay}
- EnablePasswordLogon = $04;
- {$EXTERNALSYM EnablePasswordLogon}
- EnableWakeOnRing = $08;
- {$EXTERNALSYM EnableWakeOnRing}
- EnableVideoDimDisplay = $10;
- {$EXTERNALSYM EnableVideoDimDisplay}
- // This constant is passed as a uiID to WritePwrScheme.
- NEWSCHEME = UINT(-1);
- {$EXTERNALSYM NEWSCHEME}
- // Prototype for EnumPwrSchemes callback proceedures.
- type
- PWRSCHEMESENUMPROC = function(uiIndex: UINT; dwName: DWORD; sName: LPWSTR; dwDesc: DWORD; sDesc: LPWSTR; pp: PPOWER_POLICY; lParam: LPARAM): ByteBool; stdcall;
- {$EXTERNALSYM PWRSCHEMESENUMPROC}
- PFNNTINITIATEPWRACTION = function(pPowerAction: POWER_ACTION; SystemPowerState: SYSTEM_POWER_STATE; u: ULONG; b: ByteBool): ByteBool; stdcall;
- {$EXTERNALSYM PFNNTINITIATEPWRACTION}
- // Public function prototypes
- function GetPwrDiskSpindownRange(var RangeMax, RangeMin: UINT): ByteBool; stdcall;
- {$EXTERNALSYM GetPwrDiskSpindownRange}
- function EnumPwrSchemes(lpfnPwrSchemesEnumProc: PWRSCHEMESENUMPROC; lParam: LPARAM): ByteBool; stdcall;
- {$EXTERNALSYM EnumPwrSchemes}
- function ReadGlobalPwrPolicy(var pGlobalPowerPolicy: GLOBAL_POWER_POLICY): ByteBool; stdcall;
- {$EXTERNALSYM ReadGlobalPwrPolicy}
- function ReadPwrScheme(uiID: UINT; var pPowerPolicy: POWER_POLICY): ByteBool; stdcall;
- {$EXTERNALSYM ReadPwrScheme}
- function WritePwrScheme(puiID: PUINT; lpszName, lpszDescription: LPWSTR; const pPowerPolicy: POWER_POLICY): ByteBool; stdcall;
- {$EXTERNALSYM WritePwrScheme}
- function WriteGlobalPwrPolicy(const pGlobalPowerPolicy: GLOBAL_POWER_POLICY): ByteBool; stdcall;
- {$EXTERNALSYM WriteGlobalPwrPolicy}
- function DeletePwrScheme(uiIndex: UINT): ByteBool; stdcall;
- {$EXTERNALSYM DeletePwrScheme}
- function GetActivePwrScheme(var puiID: UINT): ByteBool; stdcall;
- {$EXTERNALSYM GetActivePwrScheme}
- function SetActivePwrScheme(uiID: UINT; pGlobalPowerPolicy: PGLOBAL_POWER_POLICY; pPowerPolicy: PPOWER_POLICY): ByteBool; stdcall;
- {$EXTERNALSYM SetActivePwrScheme}
- function GetPwrCapabilities(var lpSystemPowerCapabilities: SYSTEM_POWER_CAPABILITIES): ByteBool; stdcall;
- {$EXTERNALSYM GetPwrCapabilities}
- function IsPwrSuspendAllowed: ByteBool; stdcall;
- {$EXTERNALSYM IsPwrSuspendAllowed}
- function IsPwrHibernateAllowed: ByteBool; stdcall;
- {$EXTERNALSYM IsPwrHibernateAllowed}
- function IsPwrShutdownAllowed: ByteBool; stdcall;
- {$EXTERNALSYM IsPwrShutdownAllowed}
- function IsAdminOverrideActive(pAdministratorPowerPolicy: PADMINISTRATOR_POWER_POLICY): ByteBool; stdcall;
- {$EXTERNALSYM IsAdminOverrideActive}
- function SetSuspendState(Hibernate, ForceCritical, DisableWakeEvent: ByteBool): ByteBool; stdcall;
- {$EXTERNALSYM SetSuspendState}
- function GetCurrentPowerPolicies(pGlobalPowerPolicy: PGLOBAL_POWER_POLICY; pPowerPolicy: PPOWER_POLICY): ByteBool; stdcall;
- {$EXTERNALSYM GetCurrentPowerPolicies}
- function CanUserWritePwrScheme: ByteBool; stdcall;
- {$EXTERNALSYM CanUserWritePwrScheme}
- function ReadProcessorPwrScheme(uiID: UINT; var pMachineProcessorPowerPolicy: MACHINE_PROCESSOR_POWER_POLICY): ByteBool; stdcall;
- {$EXTERNALSYM ReadProcessorPwrScheme}
- function WriteProcessorPwrScheme(uiID: UINT; const pMachineProcessorPowerPolicy: MACHINE_PROCESSOR_POWER_POLICY): ByteBool; stdcall;
- {$EXTERNALSYM WriteProcessorPwrScheme}
- function ValidatePowerPolicies(GlobalPolicy: PGLOBAL_POWER_POLICY; Policy: PPOWER_POLICY): ByteBool; stdcall;
- {$EXTERNALSYM ValidatePowerPolicies}
- function CallNtPowerInformation(InformationLeveL: POWER_INFORMATION_LEVEL; lpInputBuffer: PVOID; nInputBufferSize: ULONG; lpOutputBuffer: PVOID; nOutputBufferSize: ULONG): NTSTATUS; stdcall;
- {$EXTERNALSYM CallNtPowerInformation}
- implementation
- uses
- JwaWinDLLNames;
- {$IFDEF DYNAMIC_LINK}
- var
- _GetPwrDiskSpindownRange: Pointer;
- function GetPwrDiskSpindownRange;
- begin
- GetProcedureAddress(_GetPwrDiskSpindownRange, powrproflib, 'GetPwrDiskSpindownRange');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_GetPwrDiskSpindownRange]
- end;
- end;
- var
- _EnumPwrSchemes: Pointer;
- function EnumPwrSchemes;
- begin
- GetProcedureAddress(_EnumPwrSchemes, powrproflib, 'EnumPwrSchemes');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_EnumPwrSchemes]
- end;
- end;
- var
- _ReadGlobalPwrPolicy: Pointer;
- function ReadGlobalPwrPolicy;
- begin
- GetProcedureAddress(_ReadGlobalPwrPolicy, powrproflib, 'ReadGlobalPwrPolicy');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_ReadGlobalPwrPolicy]
- end;
- end;
- var
- _ReadPwrScheme: Pointer;
- function ReadPwrScheme;
- begin
- GetProcedureAddress(_ReadPwrScheme, powrproflib, 'ReadPwrScheme');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_ReadPwrScheme]
- end;
- end;
- var
- _WritePwrScheme: Pointer;
- function WritePwrScheme;
- begin
- GetProcedureAddress(_WritePwrScheme, powrproflib, 'WritePwrScheme');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_WritePwrScheme]
- end;
- end;
- var
- _WriteGlobalPwrPolicy: Pointer;
- function WriteGlobalPwrPolicy;
- begin
- GetProcedureAddress(_WriteGlobalPwrPolicy, powrproflib, 'WriteGlobalPwrPolicy');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_WriteGlobalPwrPolicy]
- end;
- end;
- var
- _DeletePwrScheme: Pointer;
- function DeletePwrScheme;
- begin
- GetProcedureAddress(_DeletePwrScheme, powrproflib, 'DeletePwrScheme');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_DeletePwrScheme]
- end;
- end;
- var
- _GetActivePwrScheme: Pointer;
- function GetActivePwrScheme;
- begin
- GetProcedureAddress(_GetActivePwrScheme, powrproflib, 'GetActivePwrScheme');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_GetActivePwrScheme]
- end;
- end;
- var
- _SetActivePwrScheme: Pointer;
- function SetActivePwrScheme;
- begin
- GetProcedureAddress(_SetActivePwrScheme, powrproflib, 'SetActivePwrScheme');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_SetActivePwrScheme]
- end;
- end;
- var
- _GetPwrCapabilities: Pointer;
- function GetPwrCapabilities;
- begin
- GetProcedureAddress(_GetPwrCapabilities, powrproflib, 'GetPwrCapabilities');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_GetPwrCapabilities]
- end;
- end;
- var
- _IsPwrSuspendAllowed: Pointer;
- function IsPwrSuspendAllowed;
- begin
- GetProcedureAddress(_IsPwrSuspendAllowed, powrproflib, 'IsPwrSuspendAllowed');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_IsPwrSuspendAllowed]
- end;
- end;
- var
- _IsPwrHibernateAllowed: Pointer;
- function IsPwrHibernateAllowed;
- begin
- GetProcedureAddress(_IsPwrHibernateAllowed, powrproflib, 'IsPwrHibernateAllowed');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_IsPwrHibernateAllowed]
- end;
- end;
- var
- _IsPwrShutdownAllowed: Pointer;
- function IsPwrShutdownAllowed;
- begin
- GetProcedureAddress(_IsPwrShutdownAllowed, powrproflib, 'IsPwrShutdownAllowed');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_IsPwrShutdownAllowed]
- end;
- end;
- var
- _IsAdminOverrideActive: Pointer;
- function IsAdminOverrideActive;
- begin
- GetProcedureAddress(_IsAdminOverrideActive, powrproflib, 'IsAdminOverrideActive');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_IsAdminOverrideActive]
- end;
- end;
- var
- _SetSuspendState: Pointer;
- function SetSuspendState;
- begin
- GetProcedureAddress(_SetSuspendState, powrproflib, 'SetSuspendState');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_SetSuspendState]
- end;
- end;
- var
- _GetCurrentPowerPolicies: Pointer;
- function GetCurrentPowerPolicies;
- begin
- GetProcedureAddress(_GetCurrentPowerPolicies, powrproflib, 'GetCurrentPowerPolicies');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_GetCurrentPowerPolicies]
- end;
- end;
- var
- _CanUserWritePwrScheme: Pointer;
- function CanUserWritePwrScheme;
- begin
- GetProcedureAddress(_CanUserWritePwrScheme, powrproflib, 'CanUserWritePwrScheme');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_CanUserWritePwrScheme]
- end;
- end;
- var
- _ReadProcessorPwrScheme: Pointer;
- function ReadProcessorPwrScheme;
- begin
- GetProcedureAddress(_ReadProcessorPwrScheme, powrproflib, 'ReadProcessorPwrScheme');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_ReadProcessorPwrScheme]
- end;
- end;
- var
- _WriteProcessorPwrScheme: Pointer;
- function WriteProcessorPwrScheme;
- begin
- GetProcedureAddress(_WriteProcessorPwrScheme, powrproflib, 'WriteProcessorPwrScheme');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_WriteProcessorPwrScheme]
- end;
- end;
- var
- _ValidatePowerPolicies: Pointer;
- function ValidatePowerPolicies;
- begin
- GetProcedureAddress(_ValidatePowerPolicies, powrproflib, 'ValidatePowerPolicies');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_ValidatePowerPolicies]
- end;
- end;
- var
- _CallNtPowerInformation: Pointer;
- function CallNtPowerInformation;
- begin
- GetProcedureAddress(_CallNtPowerInformation, powrproflib, 'CallNtPowerInformation');
- asm
- MOV ESP, EBP
- POP EBP
- JMP [_CallNtPowerInformation]
- end;
- end;
- {$ELSE}
- function GetPwrDiskSpindownRange; external powrproflib name 'GetPwrDiskSpindownRange';
- function EnumPwrSchemes; external powrproflib name 'EnumPwrSchemes';
- function ReadGlobalPwrPolicy; external powrproflib name 'ReadGlobalPwrPolicy';
- function ReadPwrScheme; external powrproflib name 'ReadPwrScheme';
- function WritePwrScheme; external powrproflib name 'WritePwrScheme';
- function WriteGlobalPwrPolicy; external powrproflib name 'WriteGlobalPwrPolicy';
- function DeletePwrScheme; external powrproflib name 'DeletePwrScheme';
- function GetActivePwrScheme; external powrproflib name 'GetActivePwrScheme';
- function SetActivePwrScheme; external powrproflib name 'SetActivePwrScheme';
- function GetPwrCapabilities; external powrproflib name 'GetPwrCapabilities';
- function IsPwrSuspendAllowed; external powrproflib name 'IsPwrSuspendAllowed';
- function IsPwrHibernateAllowed; external powrproflib name 'IsPwrHibernateAllowed';
- function IsPwrShutdownAllowed; external powrproflib name 'IsPwrShutdownAllowed';
- function IsAdminOverrideActive; external powrproflib name 'IsAdminOverrideActive';
- function SetSuspendState; external powrproflib name 'SetSuspendState';
- function GetCurrentPowerPolicies; external powrproflib name 'GetCurrentPowerPolicies';
- function CanUserWritePwrScheme; external powrproflib name 'CanUserWritePwrScheme';
- function ReadProcessorPwrScheme; external powrproflib name 'ReadProcessorPwrScheme';
- function WriteProcessorPwrScheme; external powrproflib name 'WriteProcessorPwrScheme';
- function ValidatePowerPolicies; external powrproflib name 'ValidatePowerPolicies';
- function CallNtPowerInformation; external powrproflib name 'CallNtPowerInformation';
- {$ENDIF DYNAMIC_LINK}
- end.
|