4 #ifndef __WINE_WINTERNL_H
5 /* FIXME: Include this, so NTSTATUS gets defined.
6 Not very clean, but I can't get the hacH^H^H^override used
7 by official PSDK to work. */
15 #define EnableMultiBatteryDisplay 2
16 #define EnablePasswordLogon 4
17 #define EnableSysTrayBatteryMeter 1
18 #define EnableWakeOnRing 8
19 #define EnableVideoDimDisplay 16
20 #define NEWSCHEME (UINT)-1
24 typedef struct _GLOBAL_MACHINE_POWER_POLICY
{
26 SYSTEM_POWER_STATE LidOpenWakeAc
;
27 SYSTEM_POWER_STATE LidOpenWakeDc
;
28 ULONG BroadcastCapacityResolution
;
29 } GLOBAL_MACHINE_POWER_POLICY
, *PGLOBAL_MACHINE_POWER_POLICY
;
30 typedef struct _GLOBAL_USER_POWER_POLICY
{
32 POWER_ACTION_POLICY PowerButtonAc
;
33 POWER_ACTION_POLICY PowerButtonDc
;
34 POWER_ACTION_POLICY SleepButtonAc
;
35 POWER_ACTION_POLICY SleepButtonDc
;
36 POWER_ACTION_POLICY LidCloseAc
;
37 POWER_ACTION_POLICY LidCloseDc
;
38 SYSTEM_POWER_LEVEL DischargePolicy
[NUM_DISCHARGE_POLICIES
];
40 } GLOBAL_USER_POWER_POLICY
, *PGLOBAL_USER_POWER_POLICY
;
41 typedef struct _GLOBAL_POWER_POLICY
{
42 GLOBAL_USER_POWER_POLICY user
;
43 GLOBAL_MACHINE_POWER_POLICY mach
;
44 } GLOBAL_POWER_POLICY
, *PGLOBAL_POWER_POLICY
;
45 typedef struct _MACHINE_POWER_POLICY
{
47 SYSTEM_POWER_STATE MinSleepAc
;
48 SYSTEM_POWER_STATE MinSleepDc
;
49 SYSTEM_POWER_STATE ReducedLatencySleepAc
;
50 SYSTEM_POWER_STATE ReducedLatencySleepDc
;
53 ULONG DozeS4TimeoutAc
;
54 ULONG DozeS4TimeoutDc
;
58 POWER_ACTION_POLICY OverThrottledAc
;
59 POWER_ACTION_POLICY OverThrottledDc
;
60 } MACHINE_POWER_POLICY
, *PMACHINE_POWER_POLICY
;
61 typedef struct _MACHINE_PROCESSOR_POWER_POLICY
{
63 PROCESSOR_POWER_POLICY ProcessorPolicyAc
;
64 PROCESSOR_POWER_POLICY ProcessorPolicyDc
;
65 } MACHINE_PROCESSOR_POWER_POLICY
, *PMACHINE_PROCESSOR_POWER_POLICY
;
66 typedef struct _USER_POWER_POLICY
{
68 POWER_ACTION_POLICY IdleAc
;
69 POWER_ACTION_POLICY IdleDc
;
72 UCHAR IdleSensitivityAc
;
73 UCHAR IdleSensitivityDc
;
74 UCHAR ThrottlePolicyAc
;
75 UCHAR ThrottlePolicyDc
;
76 SYSTEM_POWER_STATE MaxSleepAc
;
77 SYSTEM_POWER_STATE MaxSleepDc
;
81 ULONG SpindownTimeoutAc
;
82 ULONG SpindownTimeoutDc
;
83 BOOLEAN OptimizeForPowerAc
;
84 BOOLEAN OptimizeForPowerDc
;
85 UCHAR FanThrottleToleranceAc
;
86 UCHAR FanThrottleToleranceDc
;
87 UCHAR ForcedThrottleAc
;
88 UCHAR ForcedThrottleDc
;
89 } USER_POWER_POLICY
, *PUSER_POWER_POLICY
;
90 typedef struct _POWER_POLICY
{
91 USER_POWER_POLICY user
;
92 MACHINE_POWER_POLICY mach
;
93 } POWER_POLICY
, *PPOWER_POLICY
;
94 typedef BOOLEAN (CALLBACK
* PWRSCHEMESENUMPROC
)(UINT
, DWORD
, LPWSTR
, DWORD
, LPWSTR
, PPOWER_POLICY
, LPARAM
);
95 typedef BOOLEAN (CALLBACK
* PFNNTINITIATEPWRACTION
)(POWER_ACTION
, SYSTEM_POWER_STATE
, ULONG
, BOOLEAN
);
96 NTSTATUS WINAPI
CallNtPowerInformation(POWER_INFORMATION_LEVEL
, PVOID
, ULONG
, PVOID
, ULONG
);
97 BOOLEAN WINAPI
CanUserWritePwrScheme(VOID
);
98 BOOLEAN WINAPI
DeletePwrScheme(UINT
);
99 BOOLEAN WINAPI
EnumPwrSchemes(PWRSCHEMESENUMPROC
, LPARAM
);
100 BOOLEAN WINAPI
GetActivePwrScheme(PUINT
);
101 BOOLEAN WINAPI
GetCurrentPowerPolicies(PGLOBAL_POWER_POLICY
, PPOWER_POLICY
);
102 BOOLEAN WINAPI
GetPwrCapabilities(PSYSTEM_POWER_CAPABILITIES
);
103 BOOLEAN WINAPI
GetPwrDiskSpindownRange(PUINT
, PUINT
);
104 BOOLEAN WINAPI
IsAdminOverrideActive(PADMINISTRATOR_POWER_POLICY
);
105 BOOLEAN WINAPI
IsPwrHibernateAllowed(VOID
);
106 BOOLEAN WINAPI
IsPwrShutdownAllowed(VOID
);
107 BOOLEAN WINAPI
IsPwrSuspendAllowed(VOID
);
108 BOOLEAN WINAPI
ReadGlobalPwrPolicy(PGLOBAL_POWER_POLICY
);
109 BOOLEAN WINAPI
ReadProcessorPwrScheme(UINT
, PMACHINE_PROCESSOR_POWER_POLICY
);
110 BOOLEAN WINAPI
ReadPwrScheme(UINT
, PPOWER_POLICY
);
111 BOOLEAN WINAPI
SetActivePwrScheme(UINT
, PGLOBAL_POWER_POLICY
, PPOWER_POLICY
);
112 BOOLEAN WINAPI
SetSuspendState(BOOLEAN
, BOOLEAN
, BOOLEAN
);
113 BOOLEAN WINAPI
WriteGlobalPwrPolicy(PGLOBAL_POWER_POLICY
);
114 BOOLEAN WINAPI
WriteProcessorPwrScheme(UINT
, PMACHINE_PROCESSOR_POWER_POLICY
);
115 BOOLEAN WINAPI
ValidatePowerPolicies(PGLOBAL_POWER_POLICY
, PPOWER_POLICY
);
116 BOOLEAN WINAPI
WritePwrScheme(PUINT
, LPWSTR
, LPWSTR
, PPOWER_POLICY
);
118 #endif /* RC_INVOKED */
124 #endif /* _POWRPROF_H */