The following functions are used with power management.
| Function | Description |
| CallNtPowerInformation | Sets or retrieves power information. |
| DevicePowerClose | Frees all nodes in the device list and destroys the device list. |
| DevicePowerEnumDevices | Enumerates devices on the system that meet the specified criteria. |
| DevicePowerOpen | Initializes a device list by querying all the devices. |
| DevicePowerSetDeviceState | Modifies the specified data on the specified device. |
| GetCurrentPowerPolicies | Retrieves the current system power policy settings. |
| GetDevicePowerState | Retrieves the current power state of the specified device. |
| GetPwrCapabilities | Retrieves information about the system power capabilities. |
| GetSystemPowerStatus | Retrieves the power status of the system. |
| IsSystemResumeAutomatic | Indicates the current state of the computer. |
| PowerCanRestoreIndividualDefaultPowerScheme | Determines if the current user has access to the data for the specified power scheme so that it could be
restored if necessary. |
| PowerClearRequest | Decrements the count of power requests of the specified type for a power request object. |
| PowerCreatePossibleSetting | Creates a possible setting value for a specified power setting. |
| PowerCreateRequest | Creates a power request object. |
| PowerCreateSetting | Creates a setting value for a specified power setting. |
| PowerDeleteScheme | Deletes a specified scheme from the database. |
| PowerDeterminePlatformRole | Determines the computer role. |
| PowerDuplicateScheme | Duplicates an existing power scheme. |
| PowerEnumerate | Enumerates the specified elements in a power scheme. |
| PowerGetActiveScheme | Retrieves the active power scheme. |
| PowerImportPowerScheme | Imports a power scheme from a file. |
| PowerReadACDefaultIndex | Retrieves the default AC index of the specified power setting. |
| PowerReadACValue | Retrieves the AC power value for the specified power setting. |
| PowerReadACValueIndex | Retrieves the AC index of the specified power setting. |
| PowerReadDCDefaultIndex | Retrieves the default DC index of the specified power setting. |
| PowerReadDCValue | Retrieves the DC power value for the specified power setting. |
| PowerReadDCValueIndex | Retrieves the DC value index of the specified power setting. |
| PowerReadDescription | Retrieves the description for the specified power setting, subgroup, or scheme. |
| PowerReadFriendlyName | Retrieves the friendly name for the specified power setting, subgroup, or scheme. |
| PowerReadIconResourceSpecifier | Retrieves the icon resource for the specified power setting, subgroup, or scheme. |
| PowerReadPossibleDescription | Retrieves the description for one of the possible choices of a power setting value. |
| PowerReadPossibleFriendlyName | Retrieves the friendly name for one of the possible choices of a power setting value. |
| PowerReadPossibleValue | Retrieves the value for a possible value of a power setting. |
| PowerReadSettingAttributes | Returns the current attribute of the specified power setting. |
| PowerReadValueIncrement | Retrieves the increment for valid values between the power settings minimum and maximum. |
| PowerReadValueMax | Retrieves the maximum value for the specified power setting. |
| PowerReadValueMin | Retrieves the minimum value for the specified power setting. |
| PowerReadValueUnitsSpecifier | Reads the string used to describe the units of a power setting that supports a range of values. |
| PowerRemovePowerSetting | Deletes the specified power setting. |
| PowerReplaceDefaultPowerSchemes | Replaces the power schemes for the default user with the current user's power schemes. |
| PowerRestoreDefaultPowerSchemes | Replaces the power schemes for the current user with ones for the default user. |
| PowerRestoreIndividualDefaultPowerScheme | Replaces a specific power scheme for the current user with one from the default user. |
| PowerSetActiveScheme | Sets the active power scheme for the current user. |
| PowerSetRequest | Increments the count of power requests of the specified type for a power request object. |
| PowerSettingAccessCheck | Queries for a group policy override for specified power settings. |
| PowerWriteACDefaultIndex | Sets the default AC index of the specified power setting. |
| PowerWriteACValueIndex | Sets the AC value index of the specified power setting. |
| PowerWriteDCDefaultIndex | Sets the default DC index of the specified power setting. |
| PowerWriteDCValueIndex | Sets the DC index of the specified power setting. |
| PowerWriteDescription | Sets the description for the specified power setting, subgroup, or scheme. |
| PowerWriteFriendlyName | Sets the friendly name for the specified power setting, subgroup, or scheme. |
| PowerWriteIconResourceSpecifier | Sets the icon resource for the specified power setting, subgroup, or scheme. |
| PowerWritePossibleDescription | Sets the description for one of the possible choices of a power setting value. |
| PowerWritePossibleFriendlyName | Sets the friendly name for the specified possible setting of a power setting. |
| PowerWritePossibleValue | Sets the value for a possible value of a power setting. |
| PowerWriteSettingAttributes | Sets the power attributes of a power key. |
| PowerWriteValueIncrement | Sets the increment for valid values between the power settings minimum and maximum. |
| PowerWriteValueMax | Sets the maximum value for the specified power setting. |
| PowerWriteValueMin | Sets the minimum value for the specified power setting. |
| PowerWriteValueUnitsSpecifier | Writes the string used to describe the units of a power setting that supports a range of values. |
| RegisterPowerSettingNotification | Registers the application to receive power setting notifications for the specific power setting event. |
| SetSuspendState | Sets the system suspend state. |
| SetThreadExecutionState | Enables applications to inform the system that it is in use. |
| UnregisterPowerSettingNotification | Unregisters the power setting notification. |
The following functions are supported in Windows Server 2008 and Windows Vista for compatibility with earlier versions of Windows. Applications written for Windows Server 2008 and Windows Vista should use the alternatives listed in this table.