THERMAL_POLICY
THERMAL_POLICY 结构与 IOCTL_THERMAL_READ_POLICY IO 控制代码一起使用。 策略驱动程序使用 IOCTL_THERMAL_READ_POLICY 为其关联的热区域设置热策略。 如果未指定热量策略,内核将使用由在热区下声明的 ACPI 对象和方法指定的策略,如 ACPI 规范中所述。
语法
C++ |
---|
|
成员
版本
指定策略结构的版本。 当前版本为 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 将禁用所有活动的冷却设备。