Compartir a través de


THERMAL_POLICY

La estructura THERMAL_POLICY se usa con el código de control IOCTL_THERMAL_READ_POLICY. Los controladores de directivas usan IOCTL_THERMAL_READ_POLICY para establecer la directiva térmica de su zona térmica asociada. Si no se especifica ninguna directiva térmica, el núcleo usa las directivas que especifican los objetos y métodos ACPI declarados en la zona térmica, tal y como se describe en la especificación ACPI.

Sintaxis

C++

typedef struct _THERMAL_POLICY {

ULONG Version; BOOLEAN WaitForUpdate;

BOOLEAN Hibernate;

BOOLEAN Critical;

BOOLEAN ThermalStandby;

ULONG ActivationReasons;

ULONG PassiveLimit;

ULONG ActiveLevel;

} THERMAL_POLICY, *PTHERMAL_POLICY;

Miembros

Versión

Especifica la versión de la estructura de directiva. La versión actual es THERMAL_POLICY_VERSION_1.

WaitForUpdate

Especifica si el controlador de directiva debe completar el IOCTL_THERMAL_READ_POLICY IOCTL inmediatamente. Si el estado está actualizado y WaitForUpdate es TRUE, el controlador de la directiva debe suspender el IOCTL en un estado que pueda cancelarse hasta que una de sus preferencias de directiva haya cambiado, cuando debe completar el IOCTL con las nuevas preferencias. Si el estado no está actualizado o WaitForUpdate es FALSE, el controlador de directiva debe completar inmediatamente el IOCTL con las nuevas preferencias.

Hibernar

El controlador de directiva especifica TRUE para indicar que el sistema debe apagarse para hacer frente a una condición térmica. Una vez se resuelve la condición térmica, el controlador de directiva debe establecer este miembro en FALSE. Si el sistema no admite hibernación o bien está deshabilitada, el sistema se apagará.

Critical) (Crítico)

El controlador de directiva especifica TRUE para indicar que el sistema debe apagarse para hacer frente a una condición térmica.

ThermalStandby

El controlador de directiva especifica TRUE para indicar que el sistema debe entrar en modo de espera para hacer frente a una condición térmica. Una vez se resuelve la condición térmica, el controlador de directiva debe establecer este miembro en FALSE.

ActivationReasons

Especifica por qué se limita la zona térmica.

  • 0x00000000

    Indica que la zona no está limitada.

  • #define TZ_ACTIVATION_REASON_THERMAL 0x00000001

    Indica que la zona está limitada por motivos térmicos.

  • #define TZ_ACTIVATION_REASON_CURRENT 0x00000002

    Indica que la zona está limitada porque el sistema no puede entregar suficiente corriente.

PassiveLimit

Especifica la cantidad en la que la zona térmica debe limitarse. 100 representa ilimitado mientras que 0 representa completamente limitado.

ActiveLevel

Especifica el índice (de 0 a 9) del conjunto actual de dispositivos de refrigeración activos que se deben activar. Por ejemplo, si se establece un valor ActiveLevel de 4, se activarán todos los dispositivos de la lista de dispositivos _AL4 de la zona térmica, así como cualquier lista de dispositivos de índice superior (_AL5, etc.). Si especifica 10, se deshabilitarán todos los dispositivos de refrigeración activos.

THERMAL_WAIT_READ

Administración térmica en Windows