Go to the documentation of this file.00001 #ifndef _POWRPROF_H
00002 #define _POWRPROF_H
00003
00004 #ifndef __WINE_WINTERNL_H
00005
00006
00007
00008 #include <ntsecapi.h>
00009 #endif
00010
00011 #ifdef __cplusplus
00012 extern "C" {
00013 #endif
00014
00015 #define EnableMultiBatteryDisplay 2
00016 #define EnablePasswordLogon 4
00017 #define EnableSysTrayBatteryMeter 1
00018 #define EnableWakeOnRing 8
00019 #define EnableVideoDimDisplay 16
00020 #define NEWSCHEME (UINT)-1
00021
00022 #ifndef RC_INVOKED
00023
00024 typedef struct _GLOBAL_MACHINE_POWER_POLICY{
00025 ULONG Revision;
00026 SYSTEM_POWER_STATE LidOpenWakeAc;
00027 SYSTEM_POWER_STATE LidOpenWakeDc;
00028 ULONG BroadcastCapacityResolution;
00029 } GLOBAL_MACHINE_POWER_POLICY, *PGLOBAL_MACHINE_POWER_POLICY;
00030 typedef struct _GLOBAL_USER_POWER_POLICY{
00031 ULONG Revision;
00032 POWER_ACTION_POLICY PowerButtonAc;
00033 POWER_ACTION_POLICY PowerButtonDc;
00034 POWER_ACTION_POLICY SleepButtonAc;
00035 POWER_ACTION_POLICY SleepButtonDc;
00036 POWER_ACTION_POLICY LidCloseAc;
00037 POWER_ACTION_POLICY LidCloseDc;
00038 SYSTEM_POWER_LEVEL DischargePolicy[NUM_DISCHARGE_POLICIES];
00039 ULONG GlobalFlags;
00040 } GLOBAL_USER_POWER_POLICY, *PGLOBAL_USER_POWER_POLICY;
00041 typedef struct _GLOBAL_POWER_POLICY{
00042 GLOBAL_USER_POWER_POLICY user;
00043 GLOBAL_MACHINE_POWER_POLICY mach;
00044 } GLOBAL_POWER_POLICY, *PGLOBAL_POWER_POLICY;
00045 typedef struct _MACHINE_POWER_POLICY{
00046 ULONG Revision;
00047 SYSTEM_POWER_STATE MinSleepAc;
00048 SYSTEM_POWER_STATE MinSleepDc;
00049 SYSTEM_POWER_STATE ReducedLatencySleepAc;
00050 SYSTEM_POWER_STATE ReducedLatencySleepDc;
00051 ULONG DozeTimeoutAc;
00052 ULONG DozeTimeoutDc;
00053 ULONG DozeS4TimeoutAc;
00054 ULONG DozeS4TimeoutDc;
00055 UCHAR MinThrottleAc;
00056 UCHAR MinThrottleDc;
00057 UCHAR pad1[2];
00058 POWER_ACTION_POLICY OverThrottledAc;
00059 POWER_ACTION_POLICY OverThrottledDc;
00060 } MACHINE_POWER_POLICY, *PMACHINE_POWER_POLICY;
00061 typedef struct _MACHINE_PROCESSOR_POWER_POLICY {
00062 ULONG Revision;
00063 PROCESSOR_POWER_POLICY ProcessorPolicyAc;
00064 PROCESSOR_POWER_POLICY ProcessorPolicyDc;
00065 } MACHINE_PROCESSOR_POWER_POLICY, *PMACHINE_PROCESSOR_POWER_POLICY;
00066 typedef struct _USER_POWER_POLICY{
00067 ULONG Revision;
00068 POWER_ACTION_POLICY IdleAc;
00069 POWER_ACTION_POLICY IdleDc;
00070 ULONG IdleTimeoutAc;
00071 ULONG IdleTimeoutDc;
00072 UCHAR IdleSensitivityAc;
00073 UCHAR IdleSensitivityDc;
00074 UCHAR ThrottlePolicyAc;
00075 UCHAR ThrottlePolicyDc;
00076 SYSTEM_POWER_STATE MaxSleepAc;
00077 SYSTEM_POWER_STATE MaxSleepDc;
00078 ULONG Reserved[2];
00079 ULONG VideoTimeoutAc;
00080 ULONG VideoTimeoutDc;
00081 ULONG SpindownTimeoutAc;
00082 ULONG SpindownTimeoutDc;
00083 BOOLEAN OptimizeForPowerAc;
00084 BOOLEAN OptimizeForPowerDc;
00085 UCHAR FanThrottleToleranceAc;
00086 UCHAR FanThrottleToleranceDc;
00087 UCHAR ForcedThrottleAc;
00088 UCHAR ForcedThrottleDc;
00089 } USER_POWER_POLICY, *PUSER_POWER_POLICY;
00090 typedef struct _POWER_POLICY{
00091 USER_POWER_POLICY user;
00092 MACHINE_POWER_POLICY mach;
00093 } POWER_POLICY, *PPOWER_POLICY;
00094 typedef BOOLEAN (CALLBACK* PWRSCHEMESENUMPROC)(UINT, DWORD, LPWSTR, DWORD, LPWSTR, PPOWER_POLICY, LPARAM);
00095 typedef BOOLEAN (CALLBACK* PFNNTINITIATEPWRACTION)(POWER_ACTION, SYSTEM_POWER_STATE, ULONG, BOOLEAN);
00096 NTSTATUS WINAPI CallNtPowerInformation(POWER_INFORMATION_LEVEL, PVOID, ULONG, PVOID, ULONG);
00097 BOOLEAN WINAPI CanUserWritePwrScheme(VOID);
00098 BOOLEAN WINAPI DeletePwrScheme(UINT);
00099 BOOLEAN WINAPI EnumPwrSchemes(PWRSCHEMESENUMPROC, LPARAM);
00100 BOOLEAN WINAPI GetActivePwrScheme(PUINT);
00101 BOOLEAN WINAPI GetCurrentPowerPolicies(PGLOBAL_POWER_POLICY, PPOWER_POLICY);
00102 BOOLEAN WINAPI GetPwrCapabilities(PSYSTEM_POWER_CAPABILITIES);
00103 BOOLEAN WINAPI GetPwrDiskSpindownRange(PUINT, PUINT);
00104 BOOLEAN WINAPI IsAdminOverrideActive(PADMINISTRATOR_POWER_POLICY);
00105 BOOLEAN WINAPI IsPwrHibernateAllowed(VOID);
00106 BOOLEAN WINAPI IsPwrShutdownAllowed(VOID);
00107 BOOLEAN WINAPI IsPwrSuspendAllowed(VOID);
00108 BOOLEAN WINAPI ReadGlobalPwrPolicy(PGLOBAL_POWER_POLICY);
00109 BOOLEAN WINAPI ReadProcessorPwrScheme(UINT, PMACHINE_PROCESSOR_POWER_POLICY);
00110 BOOLEAN WINAPI ReadPwrScheme(UINT, PPOWER_POLICY);
00111 BOOLEAN WINAPI SetActivePwrScheme(UINT, PGLOBAL_POWER_POLICY, PPOWER_POLICY);
00112 BOOLEAN WINAPI SetSuspendState(BOOLEAN, BOOLEAN, BOOLEAN);
00113 BOOLEAN WINAPI WriteGlobalPwrPolicy(PGLOBAL_POWER_POLICY);
00114 BOOLEAN WINAPI WriteProcessorPwrScheme(UINT, PMACHINE_PROCESSOR_POWER_POLICY);
00115 BOOLEAN WINAPI ValidatePowerPolicies(PGLOBAL_POWER_POLICY, PPOWER_POLICY);
00116 BOOLEAN WINAPI WritePwrScheme(PUINT, LPWSTR, LPWSTR, PPOWER_POLICY);
00117
00118 #endif
00119
00120 #ifdef __cplusplus
00121 }
00122 #endif
00123
00124 #endif