|  | /** | 
|  | * This file has no copyright assigned and is placed in the Public Domain. | 
|  | * This file is part of the mingw-w64 runtime package. | 
|  | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | 
|  | */ | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  |  | 
|  | typedef struct _GLOBAL_MACHINE_POWER_POLICY{ | 
|  | ULONG Revision; | 
|  | SYSTEM_POWER_STATE LidOpenWakeAc; | 
|  | SYSTEM_POWER_STATE LidOpenWakeDc; | 
|  | ULONG BroadcastCapacityResolution; | 
|  | } GLOBAL_MACHINE_POWER_POLICY,*PGLOBAL_MACHINE_POWER_POLICY; | 
|  |  | 
|  | typedef struct _GLOBAL_USER_POWER_POLICY{ | 
|  | ULONG Revision; | 
|  | POWER_ACTION_POLICY PowerButtonAc; | 
|  | POWER_ACTION_POLICY PowerButtonDc; | 
|  | POWER_ACTION_POLICY SleepButtonAc; | 
|  | POWER_ACTION_POLICY SleepButtonDc; | 
|  | POWER_ACTION_POLICY LidCloseAc; | 
|  | POWER_ACTION_POLICY LidCloseDc; | 
|  | SYSTEM_POWER_LEVEL DischargePolicy[NUM_DISCHARGE_POLICIES]; | 
|  | ULONG GlobalFlags; | 
|  | } GLOBAL_USER_POWER_POLICY,*PGLOBAL_USER_POWER_POLICY; | 
|  |  | 
|  | typedef struct _GLOBAL_POWER_POLICY{ | 
|  | GLOBAL_USER_POWER_POLICY user; | 
|  | GLOBAL_MACHINE_POWER_POLICY mach; | 
|  | } GLOBAL_POWER_POLICY,*PGLOBAL_POWER_POLICY; | 
|  |  | 
|  | typedef struct _MACHINE_POWER_POLICY{ | 
|  | ULONG Revision; | 
|  | SYSTEM_POWER_STATE MinSleepAc; | 
|  | SYSTEM_POWER_STATE MinSleepDc; | 
|  | SYSTEM_POWER_STATE ReducedLatencySleepAc; | 
|  | SYSTEM_POWER_STATE ReducedLatencySleepDc; | 
|  | ULONG DozeTimeoutAc; | 
|  | ULONG DozeTimeoutDc; | 
|  | ULONG DozeS4TimeoutAc; | 
|  | ULONG DozeS4TimeoutDc; | 
|  | UCHAR MinThrottleAc; | 
|  | UCHAR MinThrottleDc; | 
|  | UCHAR pad1[2]; | 
|  | POWER_ACTION_POLICY OverThrottledAc; | 
|  | POWER_ACTION_POLICY OverThrottledDc; | 
|  | } MACHINE_POWER_POLICY,*PMACHINE_POWER_POLICY; | 
|  |  | 
|  | typedef struct _MACHINE_PROCESSOR_POWER_POLICY { | 
|  | ULONG Revision; | 
|  | PROCESSOR_POWER_POLICY ProcessorPolicyAc; | 
|  | PROCESSOR_POWER_POLICY ProcessorPolicyDc; | 
|  | } MACHINE_PROCESSOR_POWER_POLICY,*PMACHINE_PROCESSOR_POWER_POLICY; | 
|  |  | 
|  | typedef struct _USER_POWER_POLICY{ | 
|  | ULONG Revision; | 
|  | POWER_ACTION_POLICY IdleAc; | 
|  | POWER_ACTION_POLICY IdleDc; | 
|  | ULONG IdleTimeoutAc; | 
|  | ULONG IdleTimeoutDc; | 
|  | UCHAR IdleSensitivityAc; | 
|  | UCHAR IdleSensitivityDc; | 
|  | UCHAR ThrottlePolicyAc; | 
|  | UCHAR ThrottlePolicyDc; | 
|  | SYSTEM_POWER_STATE MaxSleepAc; | 
|  | SYSTEM_POWER_STATE MaxSleepDc; | 
|  | ULONG Reserved[2]; | 
|  | ULONG VideoTimeoutAc; | 
|  | ULONG VideoTimeoutDc; | 
|  | ULONG SpindownTimeoutAc; | 
|  | ULONG SpindownTimeoutDc; | 
|  | BOOLEAN OptimizeForPowerAc; | 
|  | BOOLEAN OptimizeForPowerDc; | 
|  | UCHAR FanThrottleToleranceAc; | 
|  | UCHAR FanThrottleToleranceDc; | 
|  | UCHAR ForcedThrottleAc; | 
|  | UCHAR ForcedThrottleDc; | 
|  | } USER_POWER_POLICY,*PUSER_POWER_POLICY; | 
|  |  | 
|  | typedef struct _POWER_POLICY{ | 
|  | USER_POWER_POLICY user; | 
|  | MACHINE_POWER_POLICY mach; | 
|  | } POWER_POLICY,*PPOWER_POLICY; | 
|  |  | 
|  | #define EnableSysTrayBatteryMeter 0x01 | 
|  | #define EnableMultiBatteryDisplay 0x02 | 
|  | #define EnablePasswordLogon 0x04 | 
|  | #define EnableWakeOnRing 0x08 | 
|  | #define EnableVideoDimDisplay 0x10 | 
|  |  | 
|  | #define NEWSCHEME (UINT)-1 | 
|  |  | 
|  | typedef BOOLEAN (CALLBACK *PWRSCHEMESENUMPROC)(UINT,DWORD,LPTSTR,DWORD,LPTSTR,PPOWER_POLICY,LPARAM); | 
|  | typedef BOOLEAN (CALLBACK *PFNNTINITIATEPWRACTION)(POWER_ACTION,SYSTEM_POWER_STATE,ULONG,BOOLEAN); | 
|  |  | 
|  | BOOLEAN WINAPI GetPwrDiskSpindownRange(PUINT,PUINT); | 
|  | BOOLEAN WINAPI EnumPwrSchemes(PWRSCHEMESENUMPROC,LPARAM); | 
|  | BOOLEAN WINAPI ReadGlobalPwrPolicy(PGLOBAL_POWER_POLICY); | 
|  | BOOLEAN WINAPI ReadPwrScheme(UINT,PPOWER_POLICY); | 
|  | BOOLEAN WINAPI WritePwrScheme(PUINT,LPTSTR,LPTSTR,PPOWER_POLICY); | 
|  | BOOLEAN WINAPI WriteGlobalPwrPolicy(PGLOBAL_POWER_POLICY); | 
|  | BOOLEAN WINAPI DeletePwrScheme(UINT); | 
|  | BOOLEAN WINAPI GetActivePwrScheme(PUINT); | 
|  | BOOLEAN WINAPI SetActivePwrScheme(UINT,PGLOBAL_POWER_POLICY,PPOWER_POLICY); | 
|  | BOOLEAN WINAPI GetPwrCapabilities(PSYSTEM_POWER_CAPABILITIES); | 
|  | BOOLEAN WINAPI IsPwrSuspendAllowed(VOID); | 
|  | BOOLEAN WINAPI IsPwrHibernateAllowed(VOID); | 
|  | BOOLEAN WINAPI IsPwrShutdownAllowed(VOID); | 
|  | BOOLEAN WINAPI IsAdminOverrideActive(PADMINISTRATOR_POWER_POLICY); | 
|  | BOOLEAN WINAPI SetSuspendState(BOOLEAN,BOOLEAN,BOOLEAN); | 
|  | BOOLEAN WINAPI GetCurrentPowerPolicies(PGLOBAL_POWER_POLICY,PPOWER_POLICY); | 
|  | BOOLEAN WINAPI CanUserWritePwrScheme(VOID); | 
|  | BOOLEAN WINAPI ReadProcessorPwrScheme(UINT,PMACHINE_PROCESSOR_POWER_POLICY); | 
|  | BOOLEAN WINAPI WriteProcessorPwrScheme(UINT,PMACHINE_PROCESSOR_POWER_POLICY); | 
|  | BOOLEAN WINAPI ValidatePowerPolicies(PGLOBAL_POWER_POLICY,PPOWER_POLICY); | 
|  |  | 
|  | #if (_WIN32_WINNT >= 0x0600) | 
|  | #define DEVICEPOWER_HARDWAREID 0x80000000 | 
|  | #define DEVICEPOWER_FILTER_DEVICES_PRESENT 0x20000000 | 
|  | #define DEVICEPOWER_AND_OPERATION 0x40000000 | 
|  | #define DEVICEPOWER_FILTER_WAKEENABLED 0x08000000 | 
|  | #define DEVICEPOWER_FILTER_ON_NAME 0x02000000 | 
|  |  | 
|  | #define PDCAP_D0_SUPPORTED 0x00000001 | 
|  | #define PDCAP_D1_SUPPORTED 0x00000002 | 
|  | #define PDCAP_D2_SUPPORTED 0x00000004 | 
|  | #define PDCAP_D3_SUPPORTED 0x00000008 | 
|  | #define PDCAP_S0_SUPPORTED 0x00010000 | 
|  | #define PDCAP_S1_SUPPORTED 0x00020000 | 
|  | #define PDCAP_S2_SUPPORTED 0x00040000 | 
|  | #define PDCAP_S3_SUPPORTED 0x00080000 | 
|  | #define PDCAP_S4_SUPPORTED 0x01000000 | 
|  | #define PDCAP_S5_SUPPORTED 0x02000000 | 
|  | #define PDCAP_WAKE_FROM_D0_SUPPORTED 0x00000010 | 
|  | #define PDCAP_WAKE_FROM_D1_SUPPORTED 0x00000020 | 
|  | #define PDCAP_WAKE_FROM_D2_SUPPORTED 0x00000040 | 
|  | #define PDCAP_WAKE_FROM_D3_SUPPORTED 0x00000080 | 
|  | #define PDCAP_WAKE_FROM_S0_SUPPORTED 0x00100000 | 
|  | #define PDCAP_WAKE_FROM_S1_SUPPORTED 0x00200000 | 
|  | #define PDCAP_WAKE_FROM_S2_SUPPORTED 0x00400000 | 
|  | #define PDCAP_WAKE_FROM_S3_SUPPORTED 0x00800000 | 
|  | #define PDCAP_WARM_EJECT_SUPPORTED 0x00000100 | 
|  |  | 
|  | #define DEVICEPOWER_SET_WAKEENABLED 0x00000001 | 
|  | #define DEVICEPOWER_CLEAR_WAKEENABLED 0x00000002 | 
|  |  | 
|  | typedef enum _POWER_DATA_ACCESSOR { | 
|  | ACCESS_AC_POWER_SETTING_INDEX   = 0,   // 0x0 | 
|  | ACCESS_DC_POWER_SETTING_INDEX   = 1,   // 0x1 | 
|  | ACCESS_SCHEME                   = 16,  // 0x10 | 
|  | ACCESS_SUBGROUP                 = 17,  // 0x11 | 
|  | ACCESS_INDIVIDUAL_SETTING       = 18,  // 0x12 | 
|  | ACCESS_ACTIVE_SCHEME            = 19,  // 0x13 | 
|  | ACCESS_CREATE_SCHEME            = 20   // 0x14 | 
|  | } POWER_DATA_ACCESSOR, *PPOWER_DATA_ACCESSOR; | 
|  |  | 
|  | BOOLEAN WINAPI DevicePowerClose(void); | 
|  | BOOLEAN WINAPI DevicePowerEnumDevices( | 
|  | ULONG QueryIndex, | 
|  | ULONG QueryInterpretationFlags, | 
|  | ULONG QueryFlags, | 
|  | PBYTE pReturnBuffer, | 
|  | PULONG pBufferSize | 
|  | ); | 
|  |  | 
|  | BOOLEAN WINAPI DevicePowerOpen( | 
|  | ULONG Flags | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI DevicePowerSetDeviceState( | 
|  | LPCWSTR DeviceDescription, | 
|  | ULONG SetFlags, | 
|  | LPCVOID SetData | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerCanRestoreIndividualDefaultPowerScheme( | 
|  | const GUID *SchemeGuid | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerCreatePossibleSetting( | 
|  | HKEY RootSystemPowerKey, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | ULONG PossibleSettingIndex | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerCreateSetting( | 
|  | HKEY RootSystemPowerKey, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerDeleteScheme( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SchemeGuid | 
|  | ); | 
|  |  | 
|  | POWER_PLATFORM_ROLE WINAPI PowerDeterminePlatformRole(void); | 
|  |  | 
|  | DWORD WINAPI PowerDuplicateScheme( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SourceSchemeGuid, | 
|  | GUID **DestinationSchemeGuid | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerEnumerate( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SchemeGuid, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | POWER_DATA_ACCESSOR AccessFlags, | 
|  | ULONG Index, | 
|  | UCHAR *Buffer, | 
|  | DWORD *BufferSize | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerGetActiveScheme( | 
|  | HKEY UserRootPowerKey, | 
|  | GUID **ActivePolicyGuid | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerImportPowerScheme( | 
|  | HKEY RootPowerKey, | 
|  | LPCWSTR ImportFileNamePath, | 
|  | GUID **DestinationSchemeGuid | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerReadACDefaultIndex( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SchemePersonalityGuid, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | LPDWORD AcDefaultIndex | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerReadACValue( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SchemeGuid, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | PULONG Type, | 
|  | LPBYTE Buffer, | 
|  | LPDWORD BufferSize | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerReadACValueIndex( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SchemeGuid, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | LPDWORD AcValueIndex | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerReadDCDefaultIndex( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SchemePersonalityGuid, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | LPDWORD DcDefaultIndex | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerReadDCValue( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SchemeGuid, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | PULONG Type, | 
|  | PUCHAR Buffer, | 
|  | LPDWORD BufferSize | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerReadDCValueIndex( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SchemeGuid, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | LPDWORD DcValueIndex | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerReadDescription( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SchemeGuid, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | PUCHAR Buffer, | 
|  | LPDWORD BufferSize | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerReadFriendlyName( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SchemeGuid, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | PUCHAR Buffer, | 
|  | LPDWORD BufferSize | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerReadIconResourceSpecifier( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SchemeGuid, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | PUCHAR Buffer, | 
|  | LPDWORD BufferSize | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerReadPossibleDescription( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | ULONG PossibleSettingIndex, | 
|  | PUCHAR Buffer, | 
|  | LPDWORD BufferSize | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerReadPossibleFriendlyName( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | ULONG PossibleSettingIndex, | 
|  | PUCHAR Buffer, | 
|  | LPDWORD BufferSize | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerReadPossibleValue( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | PULONG Type, | 
|  | ULONG PossibleSettingIndex, | 
|  | PUCHAR Buffer, | 
|  | LPDWORD BufferSize | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerReadSettingAttributes( | 
|  | const GUID *SubGroupGuid, | 
|  | const GUID *PowerSettingGuid | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerReadValueIncrement( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | LPDWORD ValueIncrement | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerReadValueMax( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | LPDWORD ValueMaximum | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerReadValueMin( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | LPDWORD ValueMinimum | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerReadValueUnitsSpecifier( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | UCHAR *Buffer, | 
|  | LPDWORD BufferSize | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerRemovePowerSetting( | 
|  | const GUID *PowerSettingSubKeyGuid, | 
|  | const GUID *PowerSettingGuid | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerReplaceDefaultPowerSchemes(void); | 
|  |  | 
|  | DWORD WINAPI PowerRestoreDefaultPowerSchemes(void); | 
|  |  | 
|  | DWORD WINAPI PowerRestoreIndividualDefaultPowerScheme( | 
|  | const GUID *SchemeGuid | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerSetActiveScheme( | 
|  | HKEY UserRootPowerKey, | 
|  | const GUID *SchemeGuid | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerSettingAccessCheck( | 
|  | POWER_DATA_ACCESSOR AccessFlags, | 
|  | const GUID *PowerGuid | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerWriteACDefaultIndex( | 
|  | HKEY RootSystemPowerKey, | 
|  | const GUID *SchemePersonalityGuid, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | DWORD DefaultAcIndex | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerWriteACValueIndex( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SchemeGuid, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | DWORD AcValueIndex | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerWriteDCDefaultIndex( | 
|  | HKEY RootSystemPowerKey, | 
|  | const GUID *SchemePersonalityGuid, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | DWORD DefaultDcIndex | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerWriteDCValueIndex( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SchemeGuid, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | DWORD DcValueIndex | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerWriteDescription( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SchemeGuid, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | UCHAR *Buffer, | 
|  | DWORD BufferSize | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerWriteFriendlyName( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SchemeGuid, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | UCHAR *Buffer, | 
|  | DWORD BufferSize | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerWriteIconResourceSpecifier( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SchemeGuid, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | UCHAR *Buffer, | 
|  | DWORD BufferSize | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerWritePossibleDescription( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | ULONG PossibleSettingIndex, | 
|  | UCHAR *Buffer, | 
|  | DWORD BufferSize | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerWritePossibleFriendlyName( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | ULONG PossibleSettingIndex, | 
|  | UCHAR *Buffer, | 
|  | DWORD BufferSize | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerWritePossibleValue( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | ULONG Type, | 
|  | ULONG PossibleSettingIndex, | 
|  | UCHAR *Buffer, | 
|  | DWORD BufferSize | 
|  | ); | 
|  |  | 
|  | #define POWER_ATTRIBUTE_HIDE 1 | 
|  |  | 
|  | DWORD WINAPI PowerWriteSettingAttributes( | 
|  | const GUID *SubGroupGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | DWORD Attributes | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerWriteValueIncrement( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | DWORD ValueIncrement | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerWriteValueMax( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | DWORD ValueMaximum | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerWriteValueMin( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | DWORD ValueMinimum | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI PowerWriteValueUnitsSpecifier( | 
|  | HKEY RootPowerKey, | 
|  | const GUID *SubGroupOfPowerSettingsGuid, | 
|  | const GUID *PowerSettingGuid, | 
|  | UCHAR *Buffer, | 
|  | DWORD BufferSize | 
|  | ); | 
|  |  | 
|  | #endif /*(_WIN32_WINNT >= 0x0600)*/ | 
|  |  | 
|  | #ifndef NT_SUCCESS | 
|  | #define NTSTATUS LONG | 
|  | #define _OVERRIDE_NTSTATUS_ | 
|  | #endif | 
|  |  | 
|  | NTSTATUS WINAPI CallNtPowerInformation(POWER_INFORMATION_LEVEL,PVOID,ULONG,PVOID,ULONG); | 
|  |  | 
|  | #ifdef _OVERRIDE_NTSTATUS_ | 
|  | #undef NTSTATUS | 
|  | #endif | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif |