Compartir a través de


Función CallNtPowerInformation (powerbase.h)

Establece o recupera información de energía.

Sintaxis

NTSTATUS CallNtPowerInformation(
  [in]  POWER_INFORMATION_LEVEL InformationLevel,
  [in]  PVOID                   InputBuffer,
  [in]  ULONG                   InputBufferLength,
  [out] PVOID                   OutputBuffer,
  [in]  ULONG                   OutputBufferLength
);

Parámetros

[in] InformationLevel

Nivel de información solicitado. Este valor indica la información de energía específica que se va a establecer o recuperar. Este parámetro debe ser uno de los siguientes POWER_INFORMATION_LEVEL valores de tipo de enumeración.

Valor Significado
AdministratorPowerPolicy
9
No se admite este nivel de información.
LastSleepTime
15
El parámetro lpInBuffer debe ser NULL; de lo contrario, la función devuelve ERROR_INVALID_PARAMETER.

El búfer lpOutputBuffer recibe un ULONGLONG que especifica el recuento de tiempo de interrupción, en unidades de 100 nanosegundos, en el último tiempo de suspensión del sistema.

LastWakeTime
14
El parámetro lpInBuffer debe ser NULL; de lo contrario, la función devuelve ERROR_INVALID_PARAMETER.

El búfer lpOutputBuffer recibe un ULONGLONG que especifica el recuento de tiempo de interrupción, en unidades de 100 nanosegundos, en la última hora de reactivación del sistema.

ProcessorInformation
11
El parámetro lpInBuffer debe ser NULL; de lo contrario, la función devuelve ERROR_INVALID_PARAMETER.

El búfer lpOutputBuffer recibe una estructura PROCESSOR_POWER_INFORMATION para cada procesador instalado en el sistema. Use la función GetSystemInfo para recuperar el número de procesadores.

ProcessorPowerPolicyAc
18
No se admite este nivel de información.
ProcessorPowerPolicyCurrent
22
No se admite este nivel de información.
ProcessorPowerPolicyDc
19
No se admite este nivel de información.
SystemBatteryState
5
El parámetro lpInBuffer debe ser NULL; de lo contrario, la función devuelve ERROR_INVALID_PARAMETER.

El búfer lpOutputBuffer recibe una estructura SYSTEM_BATTERY_STATE que contiene información sobre la batería actual del sistema.

SystemExecutionState
16
El parámetro lpInBuffer debe ser NULL; de lo contrario, la función devuelve ERROR_INVALID_PARAMETER.

El búfer lpOutputBuffer recibe un valor ULONG que contiene el búfer de estado de ejecución del sistema. Este valor puede contener cualquier combinación de los valores siguientes: ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED o ES_USER_PRESENT. Para obtener más información, vea la función SetThreadExecutionState .

SystemPowerCapabilities
4
El parámetro lpInBuffer debe ser NULL; de lo contrario, la función devuelve ERROR_INVALID_PARAMETER.

El búfer lpOutputBuffer recibe una estructura de SYSTEM_POWER_CAPABILITIES que contiene las capacidades actuales de energía del sistema.

Esta información representa las funcionalidades de energía admitidas actualmente. Puede cambiar a medida que los controladores están instalados en el sistema. Por ejemplo, la instalación de controladores de dispositivos heredados que no admiten la administración de energía deshabilita todos los estados de suspensión del sistema.

SystemPowerInformation
12
El parámetro lpInBuffer debe ser NULL; de lo contrario, la función devuelve ERROR_INVALID_PARAMETER.

El búfer lpOutputBuffer recibe una estructura SYSTEM_POWER_INFORMATION .

Las aplicaciones pueden usar este nivel para recuperar información sobre la inactividad del sistema.

SystemPowerPolicyAc
0
Si lpInBuffer no es NULL, la función aplica los valores de SYSTEM_POWER_POLICY pasados en lpInBuffer a la directiva de energía del sistema actual que se usa mientras el sistema se ejecuta en la alimentación de CA (utilidad).

El búfer lpOutputBuffer recibe una estructura de SYSTEM_POWER_POLICY que contiene la directiva de alimentación del sistema actual utilizada mientras el sistema se ejecuta en la alimentación de CA (utilidad).

SystemPowerPolicyCurrent
8
El parámetro lpInBuffer debe ser NULL; de lo contrario, la función devuelve ERROR_INVALID_PARAMETER.

El búfer lpOutputBuffer recibe una estructura de SYSTEM_POWER_POLICY que contiene la directiva de alimentación del sistema actual utilizada mientras el sistema se ejecuta en la alimentación de CA (utilidad).

SystemPowerPolicyDc
1
Si lpInBuffer no es NULL, la función aplica los valores de SYSTEM_POWER_POLICY pasados en lpInBuffer a la directiva de alimentación del sistema actual que se usa mientras el sistema se ejecuta en la batería.

El búfer lpOutputBuffer recibe una estructura de SYSTEM_POWER_POLICY que contiene la directiva de alimentación del sistema actual que se usa mientras el sistema se ejecuta en la batería.

SystemReserveHiberFile
10
Si lpInBuffer no es NULL y el usuario actual tiene suficientes privilegios, la función confirma o descommite el almacenamiento necesario para contener la imagen de hibernación en el volumen de arranque.

El parámetro lpInBuffer debe apuntar a un valor BOOLEAN que indique la solicitud deseada. Si el valor es TRUE, se reserva el archivo de hibernación; si el valor es FALSE, se quita el archivo de hibernación.

VerifyProcessorPowerPolicyAc
20
No se admite este nivel de información.
VerifyProcessorPowerPolicyDc
21
No se admite este nivel de información.
VerifySystemPolicyAc
2
No se admite este nivel de información.
VerifySystemPolicyDc
3
No se admite este nivel de información.

[in] InputBuffer

Puntero a un búfer de entrada opcional. El tipo de datos de este búfer depende del nivel de información solicitado en el parámetro InformationLevel .

[in] InputBufferLength

Tamaño del búfer de entrada, en bytes.

[out] OutputBuffer

Puntero a un búfer de salida opcional. El tipo de datos de este búfer depende del nivel de información solicitado en el parámetro InformationLevel . Si el búfer es demasiado pequeño para contener la información, la función devuelve STATUS_BUFFER_TOO_SMALL.

[in] OutputBufferLength

Tamaño del búfer de salida, en bytes. Según el nivel de información solicitado, puede ser un búfer de tamaño variable.

Valor devuelto

Si la función se ejecuta correctamente, se STATUS_SUCCESS el valor devuelto.

Si se produce un error en la función, el valor devuelto puede ser uno de los siguientes códigos de estado.

Status Significado
STATUS_BUFFER_TOO_SMALL
El búfer de salida es de tamaño insuficiente para contener los datos que se van a devolver.
STATUS_ACCESS_DENIED
El autor de la llamada tenía derechos de acceso insuficientes para realizar la acción solicitada.

Comentarios

Los cambios realizados en la directiva de energía del sistema actual mediante CallNtPowerInformation son inmediatos, pero no son persistentes; es decir, los cambios no se almacenan como parte de un esquema de energía. Cualquier cambio realizado en la directiva de energía del sistema realizada con CallNtPowerInformation se puede sobrescribir mediante cambios en un esquema de directiva realizado por el usuario en el programa del panel de control de Power Options o mediante llamadas posteriores a WritePwrScheme, SetActivePwrScheme u otras funciones de esquema de energía.

Para obtener más información sobre el uso de PowrProf.h, consulte Esquemas de energía.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado powerbase.h
Library PowrProf.lib
Archivo DLL PowrProf.dll

Consulte también

ADMINISTRATOR_POWER_POLICY

PROCESSOR_POWER_INFORMATION

PROCESSOR_POWER_POLICY

Funciones de administración de energía

estructura de SYSTEM_BATTERY_STATE

SYSTEM_POWER_CAPABILITIES

SYSTEM_POWER_INFORMATION

SYSTEM_POWER_POLICY