1 // Licensed under the Apache License, Version 2.0 2 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license 3 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option. 4 // All files in the project carrying such notice may not be copied, modified, or distributed 5 // except according to those terms. 6 use shared::guiddef::{GUID, LPCGUID}; 7 use shared::minwindef::{DWORD, HKEY, LPBYTE, LPDWORD, PUCHAR, PULONG}; 8 use um::winnt::HANDLE; 9 use um::winuser::{HPOWERNOTIFY, PHPOWERNOTIFY}; 10 extern "system" { PowerReadACValue( RootPowerKey: HKEY, SchemeGuid: *const GUID, SubGroupOfPowerSettingsGuid: *const GUID, PowerSettingGuid: *const GUID, Type: PULONG, Buffer: LPBYTE, BufferSize: LPDWORD, ) -> DWORD11 pub fn PowerReadACValue( 12 RootPowerKey: HKEY, 13 SchemeGuid: *const GUID, 14 SubGroupOfPowerSettingsGuid: *const GUID, 15 PowerSettingGuid: *const GUID, 16 Type: PULONG, 17 Buffer: LPBYTE, 18 BufferSize: LPDWORD, 19 ) -> DWORD; PowerReadDCValue( RootPowerKey: HKEY, SchemeGuid: *const GUID, SubGroupOfPowerSettingsGuid: *const GUID, PowerSettingGuid: *const GUID, Type: PULONG, Buffer: PUCHAR, BufferSize: LPDWORD, ) -> DWORD20 pub fn PowerReadDCValue( 21 RootPowerKey: HKEY, 22 SchemeGuid: *const GUID, 23 SubGroupOfPowerSettingsGuid: *const GUID, 24 PowerSettingGuid: *const GUID, 25 Type: PULONG, 26 Buffer: PUCHAR, 27 BufferSize: LPDWORD, 28 ) -> DWORD; PowerWriteACValueIndex( RootPowerKey: HKEY, SchemeGuid: *const GUID, SubGroupOfPowerSettingsGuid: *const GUID, PowerSettingGuid: *const GUID, AcValueIndex: DWORD, ) -> DWORD29 pub fn PowerWriteACValueIndex( 30 RootPowerKey: HKEY, 31 SchemeGuid: *const GUID, 32 SubGroupOfPowerSettingsGuid: *const GUID, 33 PowerSettingGuid: *const GUID, 34 AcValueIndex: DWORD, 35 ) -> DWORD; PowerWriteDCValueIndex( RootPowerKey: HKEY, SchemeGuid: *const GUID, SubGroupOfPowerSettingsGuid: *const GUID, PowerSettingGuid: *const GUID, DcValueIndex: DWORD, ) -> DWORD36 pub fn PowerWriteDCValueIndex( 37 RootPowerKey: HKEY, 38 SchemeGuid: *const GUID, 39 SubGroupOfPowerSettingsGuid: *const GUID, 40 PowerSettingGuid: *const GUID, 41 DcValueIndex: DWORD, 42 ) -> DWORD; PowerGetActiveScheme( UserRootPowerKey: HKEY, ActivePolicyGuid: *mut *mut GUID, ) -> DWORD43 pub fn PowerGetActiveScheme( 44 UserRootPowerKey: HKEY, 45 ActivePolicyGuid: *mut *mut GUID, 46 ) -> DWORD; PowerSetActiveScheme( UserRootPowerKey: HKEY, SchemeGuid: *const GUID, ) -> DWORD47 pub fn PowerSetActiveScheme( 48 UserRootPowerKey: HKEY, 49 SchemeGuid: *const GUID, 50 ) -> DWORD; PowerSettingRegisterNotification( SettingGuid: LPCGUID, Flags: DWORD, Recipient: HANDLE, RegistrationHandle: PHPOWERNOTIFY, ) -> DWORD51 pub fn PowerSettingRegisterNotification( 52 SettingGuid: LPCGUID, 53 Flags: DWORD, 54 Recipient: HANDLE, 55 RegistrationHandle: PHPOWERNOTIFY, 56 ) -> DWORD; PowerSettingUnregisterNotification( RegistrationHandle: HPOWERNOTIFY, ) -> DWORD57 pub fn PowerSettingUnregisterNotification( 58 RegistrationHandle: HPOWERNOTIFY, 59 ) -> DWORD; 60 } 61