winapi_ui_automation/um/
powerbase.rs1use shared::minwindef::{DWORD, ULONG};
7use um::winnt::{
8 BOOLEAN, HANDLE, LONG, POWER_INFORMATION_LEVEL, POWER_PLATFORM_ROLE,
9 PSYSTEM_POWER_CAPABILITIES, PVOID,
10};
11use um::winuser::{HPOWERNOTIFY, PHPOWERNOTIFY};
12pub type NTSTATUS = LONG;
13extern "system" {
14 pub fn CallNtPowerInformation(
15 InformationLevel: POWER_INFORMATION_LEVEL,
16 InputBuffer: PVOID,
17 InputBufferLength: ULONG,
18 OutputBuffer: PVOID,
19 OutputBufferLength: ULONG,
20 ) -> NTSTATUS;
21 pub fn GetPwrCapabilities(
22 lpspc: PSYSTEM_POWER_CAPABILITIES,
23 ) -> BOOLEAN;
24 pub fn PowerDeterminePlatformRoleEx(
25 Version: ULONG,
26 ) -> POWER_PLATFORM_ROLE;
27 pub fn PowerRegisterSuspendResumeNotification(
28 Flags: DWORD,
29 Recipient: HANDLE,
30 RegistrationHandle: PHPOWERNOTIFY,
31 ) -> DWORD;
32 pub fn PowerUnregisterSuspendResumeNotification(
33 RegistrationHandle: HPOWERNOTIFY,
34 ) -> DWORD;
35}