Package com.sun.jna.platform.win32

## Interface PowrProf.POWER_INFORMATION_LEVEL

- Enclosing interface:
    PowrProf

      public static interface PowrProf.POWER_INFORMATION_LEVEL

  Enum which indicates the power information level requested from `PowrProf.CallNtPowerInformation(int, com.sun.jna.Pointer, int, com.sun.jna.Pointer, int)`. This value indicates the specific power information to be set or retrieved.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `LastSleepTime` | The `lpInBuffer` parameter must be `NULL`; otherwise, the function returns `WinError.ERROR_INVALID_PARAMETER`.
    `static int` | `LastWakeTime` | The `lpInBuffer` parameter must be `NULL`; otherwise, the function returns `WinError.ERROR_INVALID_PARAMETER`.
    `static int` | `ProcessorInformation` | The `lpInBuffer` parameter must be `NULL`; otherwise, the function returns `WinError.ERROR_INVALID_PARAMETER`.
    `static int` | `SystemBatteryState` | The `lpInBuffer` parameter must be `NULL`; otherwise, the function returns `WinError.ERROR_INVALID_PARAMETER`.
    `static int` | `SystemExecutionState` | The `lpInBuffer` parameter must be `NULL` otherwise, the function returns `WinError.ERROR_INVALID_PARAMETER`.
    `static int` | `SystemPowerCapabilities` | The `lpInBuffer` parameter must be `NULL`; otherwise, the function returns `WinError.ERROR_INVALID_PARAMETER`.
    `static int` | `SystemPowerInformation` | The `lpInBuffer` parameter must be `NULL`; otherwise, the function returns `WinError.ERROR_INVALID_PARAMETER`.
    `static int` | `SystemPowerPolicyAc` | If `lpInBuffer` is not `NULL`, the function applies the `WinNT.SYSTEM_POWER_POLICY` values passed in `lpInBuffer` to the current system power policy used while the system is running on AC (utility) power.
    `static int` | `SystemPowerPolicyCurrent` | The `lpInBuffer` parameter must be `NULL`; otherwise, the function returns `WinError.ERROR_INVALID_PARAMETER`.
    `static int` | `SystemPowerPolicyDc` | If `lpInBuffer` is not `NULL`, the function applies the `WinNT.SYSTEM_POWER_POLICY` values passed in `lpInBuffer` to the current system power policy used while the system is running on battery power.
    `static int` | `SystemReserveHiberFile` | If `lpInBuffer` is not `NULL` and the current user has sufficient privileges, the function commits or decommits the storage required to hold the hibernation image on the boot volume.

- - ### Field Detail

    - #### LastSleepTime

          static final int LastSleepTime

      The `lpInBuffer` parameter must be `NULL`; otherwise, the function returns `WinError.ERROR_INVALID_PARAMETER`.

      The `lpOutputBuffer` buffer receives a `WinDef.ULONGLONG` that specifies the interrupt-time count, in 100-nanosecond units, at the last system sleep time.

      See Also:
        Constant Field Values

    - #### LastWakeTime

          static final int LastWakeTime

      The `lpInBuffer` parameter must be `NULL`; otherwise, the function returns `WinError.ERROR_INVALID_PARAMETER`.

      The `lpOutputBuffer` buffer receives a `WinDef.ULONGLONG` that specifies the interrupt-time count, in 100-nanosecond units, at the last system wake time.

      See Also:
        Constant Field Values

    - #### ProcessorInformation

          static final int ProcessorInformation

      The `lpInBuffer` parameter must be `NULL`; otherwise, the function returns `WinError.ERROR_INVALID_PARAMETER`.

      The `lpOutputBuffer` buffer receives one `WinNT.PROCESSOR_POWER_INFORMATION` structure for each processor that is installed on the system. Use the `Kernel32.GetSystemInfo(com.sun.jna.platform.win32.WinBase.SYSTEM_INFO)` function to retrieve the number of processors, which will be the number of logical processors on the current Processor Group.

      See Also:
        Constant Field Values

    - #### SystemBatteryState

          static final int SystemBatteryState

      The `lpInBuffer` parameter must be `NULL`; otherwise, the function returns `WinError.ERROR_INVALID_PARAMETER`.

      The `lpOutputBuffer` buffer receives a `WinNT.SYSTEM_BATTERY_STATE` structure containing information about the current system battery.

      See Also:
        Constant Field Values

    - #### SystemExecutionState

          static final int SystemExecutionState

      The `lpInBuffer` parameter must be `NULL` otherwise, the function returns `WinError.ERROR_INVALID_PARAMETER`.

      The `lpOutputBuffer` buffer receives a `WinDef.ULONG` value containing the system execution state buffer. This value may contain any combination of the following values: `WinBase.ES_SYSTEM_REQUIRED`, `WinBase.ES_DISPLAY_REQUIRED`, or `WinBase.ES_USER_PRESENT`. For more information, see the `Kernel32.SetThreadExecutionState(int)` function.

      See Also:
        Constant Field Values

    - #### SystemPowerCapabilities

          static final int SystemPowerCapabilities

      The `lpInBuffer` parameter must be `NULL`; otherwise, the function returns `WinError.ERROR_INVALID_PARAMETER`.

      The `lpOutputBuffer` buffer receives a `WinNT.SYSTEM_POWER_CAPABILITIES` structure containing the current system power capabilities.

      This information represents the currently supported power capabilities. It may change as drivers are installed in the system. For example, installation of legacy device drivers that do not support power management disables all system sleep states.

      See Also:
        Constant Field Values

    - #### SystemPowerInformation

          static final int SystemPowerInformation

      The `lpInBuffer` parameter must be `NULL`; otherwise, the function returns `WinError.ERROR_INVALID_PARAMETER`.

      The `lpOutputBuffer` buffer receives a `WinNT.SYSTEM_POWER_INFORMATION` structure.

      Applications can use this level to retrieve information about the idleness of the system.

      See Also:
        Constant Field Values

    - #### SystemPowerPolicyAc

          static final int SystemPowerPolicyAc

      If `lpInBuffer` is not `NULL`, the function applies the `WinNT.SYSTEM_POWER_POLICY` values passed in `lpInBuffer` to the current system power policy used while the system is running on AC (utility) power.

      The `lpOutputBuffer` buffer receives a `WinNT.SYSTEM_POWER_POLICY` structure containing the current system power policy used while the system is running on AC (utility) power.

      See Also:
        Constant Field Values

    - #### SystemPowerPolicyCurrent

          static final int SystemPowerPolicyCurrent

      The `lpInBuffer` parameter must be `NULL`; otherwise, the function returns `WinError.ERROR_INVALID_PARAMETER`.

      The `lpOutputBuffer` buffer receives a `WinNT.SYSTEM_POWER_POLICY` structure containing the current system power policy used while the system is running on AC (utility) power.

      See Also:
        Constant Field Values

    - #### SystemPowerPolicyDc

          static final int SystemPowerPolicyDc

      If `lpInBuffer` is not `NULL`, the function applies the `WinNT.SYSTEM_POWER_POLICY` values passed in `lpInBuffer` to the current system power policy used while the system is running on battery power.

      The `lpOutputBuffer` buffer receives a `WinNT.SYSTEM_POWER_POLICY` structure containing the current system power policy used while the system is running on battery power.

      See Also:
        Constant Field Values

    - #### SystemReserveHiberFile

          static final int SystemReserveHiberFile

      If `lpInBuffer` is not `NULL` and the current user has sufficient privileges, the function commits or decommits the storage required to hold the hibernation image on the boot volume.

      The lpInBuffer parameter must point to a `BOOLEAN` value indicating the desired request. If the value is `TRUE`, the hibernation file is reserved; if the value is `FALSE`, the hibernation file is removed.

      See Also:
        Constant Field Values