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
::minwindef
::{DWORD, ULONG}
;
8 BOOLEAN
, HANDLE
, LONG
, POWER_INFORMATION_LEVEL
, POWER_PLATFORM_ROLE
,
9 PSYSTEM_POWER_CAPABILITIES
, PVOID
,
11 use um
::winuser
::{HPOWERNOTIFY, PHPOWERNOTIFY}
;
12 pub type NTSTATUS
= LONG
;
14 pub fn CallNtPowerInformation(
15 InformationLevel
: POWER_INFORMATION_LEVEL
,
17 InputBufferLength
: ULONG
,
19 OutputBufferLength
: ULONG
,
21 pub fn GetPwrCapabilities(
22 lpspc
: PSYSTEM_POWER_CAPABILITIES
,
24 pub fn PowerDeterminePlatformRoleEx(
26 ) -> POWER_PLATFORM_ROLE
;
27 pub fn PowerRegisterSuspendResumeNotification(
30 RegistrationHandle
: PHPOWERNOTIFY
,
32 pub fn PowerUnregisterSuspendResumeNotification(
33 RegistrationHandle
: HPOWERNOTIFY
,