Package com.sun.jna.platform.win32

## Interface PowrProf

All Superinterfaces:
  `Library`

    public interface PowrProf
    extends Library

Functions used with power management.

### Nested Class Summary

Nested Classes
`static interface` `PowrProf.POWER_INFORMATION_LEVEL` Enum which indicates the power information level requested from `CallNtPowerInformation(int, com.sun.jna.Pointer, int, com.sun.jna.Pointer, int)`.

### Nested classes/interfaces inherited from interface com.sun.jna.Library

`Library.Handler`

### Field Summary

Fields
`static PowrProf` `INSTANCE`

### Fields inherited from interface com.sun.jna.Library

`OPTION_ALLOW_OBJECTS, OPTION_CALLING_CONVENTION, OPTION_CLASSLOADER, OPTION_FUNCTION_MAPPER, OPTION_INVOCATION_MAPPER, OPTION_OPEN_FLAGS, OPTION_STRING_ENCODING, OPTION_STRUCTURE_ALIGNMENT, OPTION_TYPE_MAPPER`

### Method Summary

All Methods Instance Methods Abstract Methods
`int` `CallNtPowerInformation​(int informationLevel, Pointer lpInputBuffer, int nInputBufferSize, Pointer lpOutputBuffer, int nOutputBufferSize)` Sets or retrieves power information.

### Field Detail

#### INSTANCE

    static final PowrProf INSTANCE

### Method Detail

#### CallNtPowerInformation

    int CallNtPowerInformation​(int informationLevel,
                               Pointer lpInputBuffer,
                               int nInputBufferSize,
                               Pointer lpOutputBuffer,
                               int nOutputBufferSize)

Sets or retrieves power information.

Changes made to the current system power policy using `CallNtPowerInformation(int, com.sun.jna.Pointer, int, com.sun.jna.Pointer, int)` are immediate, but they are not persistent; that is, the changes are not stored as part of a power scheme. Any changes to system power policy made with `CallNtPowerInformation(int, com.sun.jna.Pointer, int, com.sun.jna.Pointer, int)` may be overwritten by changes to a policy scheme made by the user in the Power Options control panel program, or by subsequent calls to `WritePwrScheme`, `SetActivePwrScheme`, or other power scheme functions.

Parameters:
  `informationLevel` - The information level requested. This value indicates the specific power information to be set or retrieved. This parameter must be one of the following `PowrProf.POWER_INFORMATION_LEVEL` enumeration type values: `PowrProf.POWER_INFORMATION_LEVEL.LastSleepTime`, `PowrProf.POWER_INFORMATION_LEVEL.LastWakeTime`, `PowrProf.POWER_INFORMATION_LEVEL.ProcessorInformation`, `PowrProf.POWER_INFORMATION_LEVEL.SystemBatteryState`, `PowrProf.POWER_INFORMATION_LEVEL.SystemExecutionState`, `PowrProf.POWER_INFORMATION_LEVEL.SystemPowerCapabilities`, `PowrProf.POWER_INFORMATION_LEVEL.SystemPowerInformation`, `PowrProf.POWER_INFORMATION_LEVEL.SystemPowerPolicyAc`, `PowrProf.POWER_INFORMATION_LEVEL.SystemPowerPolicyCurrent`, `PowrProf.POWER_INFORMATION_LEVEL.SystemPowerPolicyDc`, or `PowrProf.POWER_INFORMATION_LEVEL.SystemReserveHiberFile`.
  `lpInputBuffer` - A pointer to an optional input buffer. The data type of this buffer depends on the information level requested in the `informationLevel` parameter.
  `nInputBufferSize` - The size of the input buffer, in bytes.
  `lpOutputBuffer` - A pointer to an optional output buffer. The data type of this buffer depends on the information level requested in the `informationLevel` parameter. If the buffer is too small to contain the information, the function returns `NTStatus.STATUS_BUFFER_TOO_SMALL`.
  `nOutputBufferSize` - The size of the output buffer, in bytes. Depending on the information level requested, this may be a variably sized buffer.
Returns:
  If the function succeeds, the return value is `NTStatus.STATUS_SUCCESS`. If the function fails, the return value can be one the following status codes: `NTStatus.STATUS_BUFFER_TOO_SMALL` if the output buffer is of insufficient size to contain the data to be returned. `NTStatus.STATUS_ACCESS_DENIED` if the caller had insufficient access rights to perform the requested action.