annotate win32/powrprof.d @ 1:4a9dcbd9e54f

-files of 0.13 beta -fixes so that it now compiles with the current dmd version
author marton@basel.hu
date Tue, 05 Apr 2011 20:44:01 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
1 /***********************************************************************\
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
2 * powrprof.d *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
3 * *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
4 * Windows API header module *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
5 * *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
6 * Translated from MinGW Windows headers *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
7 * by Stewart Gordon *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
8 * *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
9 * Placed into public domain *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
10 \***********************************************************************/
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
11 module win32.powrprof;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
12 pragma(lib, "powrprof.lib");
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
13
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
14 private import win32.windef;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
15 private import win32.ntdef;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
16
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
17 // FIXME: look up Windows version support
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
18
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
19 const ULONG
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
20 EnableSysTrayBatteryMeter = 1,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
21 EnableMultiBatteryDisplay = 2,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
22 EnablePasswordLogon = 4,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
23 EnableWakeOnRing = 8,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
24 EnableVideoDimDisplay = 16;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
25
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
26 const UINT NEWSCHEME = -1;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
27
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
28 struct GLOBAL_MACHINE_POWER_POLICY {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
29 ULONG Revision;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
30 SYSTEM_POWER_STATE LidOpenWakeAc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
31 SYSTEM_POWER_STATE LidOpenWakeDc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
32 ULONG BroadcastCapacityResolution;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
33 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
34 alias GLOBAL_MACHINE_POWER_POLICY* PGLOBAL_MACHINE_POWER_POLICY;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
35
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
36 struct GLOBAL_USER_POWER_POLICY {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
37 ULONG Revision;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
38 POWER_ACTION_POLICY PowerButtonAc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
39 POWER_ACTION_POLICY PowerButtonDc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
40 POWER_ACTION_POLICY SleepButtonAc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
41 POWER_ACTION_POLICY SleepButtonDc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
42 POWER_ACTION_POLICY LidCloseAc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
43 POWER_ACTION_POLICY LidCloseDc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
44 SYSTEM_POWER_LEVEL[NUM_DISCHARGE_POLICIES] DischargePolicy;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
45 ULONG GlobalFlags;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
46 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
47 alias GLOBAL_USER_POWER_POLICY* PGLOBAL_USER_POWER_POLICY;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
48
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
49 struct GLOBAL_POWER_POLICY {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
50 GLOBAL_USER_POWER_POLICY user;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
51 GLOBAL_MACHINE_POWER_POLICY mach;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
52 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
53 alias GLOBAL_POWER_POLICY* PGLOBAL_POWER_POLICY;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
54
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
55 struct MACHINE_POWER_POLICY {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
56 ULONG Revision;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
57 SYSTEM_POWER_STATE MinSleepAc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
58 SYSTEM_POWER_STATE MinSleepDc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
59 SYSTEM_POWER_STATE ReducedLatencySleepAc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
60 SYSTEM_POWER_STATE ReducedLatencySleepDc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
61 ULONG DozeTimeoutAc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
62 ULONG DozeTimeoutDc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
63 ULONG DozeS4TimeoutAc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
64 ULONG DozeS4TimeoutDc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
65 UCHAR MinThrottleAc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
66 UCHAR MinThrottleDc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
67 UCHAR[2] pad1;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
68 POWER_ACTION_POLICY OverThrottledAc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
69 POWER_ACTION_POLICY OverThrottledDc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
70 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
71 alias MACHINE_POWER_POLICY* PMACHINE_POWER_POLICY;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
72
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
73 struct MACHINE_PROCESSOR_POWER_POLICY {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
74 ULONG Revision;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
75 PROCESSOR_POWER_POLICY ProcessorPolicyAc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
76 PROCESSOR_POWER_POLICY ProcessorPolicyDc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
77 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
78 alias MACHINE_PROCESSOR_POWER_POLICY* PMACHINE_PROCESSOR_POWER_POLICY;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
79
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
80 struct USER_POWER_POLICY {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
81 ULONG Revision;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
82 POWER_ACTION_POLICY IdleAc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
83 POWER_ACTION_POLICY IdleDc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
84 ULONG IdleTimeoutAc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
85 ULONG IdleTimeoutDc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
86 UCHAR IdleSensitivityAc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
87 UCHAR IdleSensitivityDc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
88 UCHAR ThrottlePolicyAc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
89 UCHAR ThrottlePolicyDc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
90 SYSTEM_POWER_STATE MaxSleepAc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
91 SYSTEM_POWER_STATE MaxSleepDc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
92 ULONG[2] Reserved;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
93 ULONG VideoTimeoutAc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
94 ULONG VideoTimeoutDc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
95 ULONG SpindownTimeoutAc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
96 ULONG SpindownTimeoutDc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
97 BOOLEAN OptimizeForPowerAc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
98 BOOLEAN OptimizeForPowerDc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
99 UCHAR FanThrottleToleranceAc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
100 UCHAR FanThrottleToleranceDc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
101 UCHAR ForcedThrottleAc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
102 UCHAR ForcedThrottleDc;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
103 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
104 alias USER_POWER_POLICY* PUSER_POWER_POLICY;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
105
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
106 struct POWER_POLICY {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
107 USER_POWER_POLICY user;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
108 MACHINE_POWER_POLICY mach;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
109 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
110 alias POWER_POLICY* PPOWER_POLICY;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
111
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
112 extern (Windows) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
113 alias BOOLEAN function(UINT, DWORD, LPTSTR, DWORD, LPTSTR, PPOWER_POLICY,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
114 LPARAM) PWRSCHEMESENUMPROC;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
115 alias BOOLEAN function(POWER_ACTION, SYSTEM_POWER_STATE, ULONG, BOOLEAN)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
116 PFNNTINITIATEPWRACTION;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
117
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
118 NTSTATUS CallNtPowerInformation(POWER_INFORMATION_LEVEL, PVOID, ULONG,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
119 PVOID, ULONG);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
120 BOOLEAN CanUserWritePwrScheme();
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
121 BOOLEAN DeletePwrScheme(UINT);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
122 BOOLEAN EnumPwrSchemes(PWRSCHEMESENUMPROC, LPARAM);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
123 BOOLEAN GetActivePwrScheme(PUINT);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
124 BOOLEAN GetCurrentPowerPolicies(PGLOBAL_POWER_POLICY, PPOWER_POLICY);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
125 BOOLEAN GetPwrCapabilities(PSYSTEM_POWER_CAPABILITIES);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
126 BOOLEAN GetPwrDiskSpindownRange(PUINT, PUINT);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
127 BOOLEAN IsAdminOverrideActive(PADMINISTRATOR_POWER_POLICY);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
128 BOOLEAN IsPwrHibernateAllowed();
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
129 BOOLEAN IsPwrShutdownAllowed();
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
130 BOOLEAN IsPwrSuspendAllowed();
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
131 BOOLEAN ReadGlobalPwrPolicy(PGLOBAL_POWER_POLICY);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
132 BOOLEAN ReadProcessorPwrScheme(UINT, PMACHINE_PROCESSOR_POWER_POLICY);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
133 BOOLEAN ReadPwrScheme(UINT, PPOWER_POLICY);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
134 BOOLEAN SetActivePwrScheme(UINT, PGLOBAL_POWER_POLICY, PPOWER_POLICY);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
135 BOOLEAN SetSuspendState(BOOLEAN, BOOLEAN, BOOLEAN);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
136 BOOLEAN WriteGlobalPwrPolicy(PGLOBAL_POWER_POLICY);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
137 BOOLEAN WriteProcessorPwrScheme(UINT, PMACHINE_PROCESSOR_POWER_POLICY);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
138 BOOLEAN ValidatePowerPolicies(PGLOBAL_POWER_POLICY, PPOWER_POLICY);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
139 BOOLEAN WritePwrScheme(PUINT, LPTSTR, LPTSTR, PPOWER_POLICY);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
140 }