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++ |
---|
|
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.