THERMAL_POLICY

THERMAL_POLICY 结构与 IOCTL_THERMAL_READ_POLICY IO 控制代码一起使用。 策略驱动程序使用 IOCTL_THERMAL_READ_POLICY 为其关联的热区域设置热策略。 如果未指定热量策略,内核将使用由在热区下声明的 ACPI 对象和方法指定的策略,如 ACPI 规范中所述。

语法

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;

成员

版本

指定策略结构的版本。 当前版本为 THERMAL_POLICY_VERSION_1。

WaitForUpdate

指定策略驱动程序是否应立即完成 IOCTL_THERMAL_READ_POLICY IOCTL。 如果状态是最新并且 WaitForUpdate 为 TRUE,则策略驱动程序应在可取消状态下挂起 IOCTL,直至其策略首选项之一更改,此时它应使用新的首选项完成 IOCTL。 如果状态不是最新或者 WaitForUpdate 为 FALSE,则策略驱动程序应立即使用新的首选项完成 IOCTL。

休眠

策略驱动程序指定 TRUE 以指示系统应休眠以解决热情况。 解决了热情况后,策略驱动程序应将此成员设置为 FALSE。 如果系统不支持休眠,或者如果休眠已禁用,系统将改为关闭。

严重

策略驱动程序指定 TRUE 以指示系统应关闭以解决热情况。

ThermalStandby

策略驱动程序指定 TRUE 以指示系统应进入待机状态以解决热情况。 解决了热情况后,策略驱动程序应将此成员设置为 FALSE。

ActivationReasons

指定热区域受限制的原因。

  • 0x00000000

    指示区域未受限制。

  • #define TZ_ACTIVATION_REASON_THERMAL 0x00000001

    指示区域因热原因而受限制。

  • #define TZ_ACTIVATION_REASON_CURRENT 0x00000002

    指示区域因系统无法提供足够的电流而受限制。

PassiveLimit

指定热区域的限制量。 100 表示未受限制,而 0 表示完全限制。

ActiveLevel

指定应使用的当前活动冷却设备集的索引(从 0 至 9)。 例如,将 ActiveLevel 设置为 4,会使用热区域的 _AL4 设备列表中以及任何更高索引的设备列表(_AL5 等等)中的所有设备。 指定 10 将禁用所有活动的冷却设备。

THERMAL_WAIT_READ

Windows 中的热管理