THERMAL_POLICY
O struct THERMAL_POLICY é usado com o código de controle de E/S IOCTL_THERMAL_READ_POLICY. Os drivers de política usam IOCTL_THERMAL_READ_POLICY para definir a política térmica de sua zona térmica associada. Se nenhuma política térmica for especificada, o kernel usará as políticas especificadas pelos objetos ACPI e métodos declarados na zona térmica, conforme descrito na especificação de ACPI.
Sintaxe
C++ |
---|
|
Membros
Versão
Especifica a versão da estrutura da política. A versão atual é THERMAL_POLICY_VERSION_1.
WaitForUpdate
Especifica se o driver de política deve concluir o IOCTL IOCTL_THERMAL_READ_POLICY imediatamente. Se o estado estiver atualizado e WaitForUpdate for TRUE, o driver de política deverá aguardar o IOCTL em um estado cancelável até que uma de suas preferências de política seja alterada, momento em que deverá concluir o IOCTL com as novas preferências. Se o estado não estiver atualizado ou WaitForUpdate for FALSE, o driver de política deverá concluir imediatamente o IOCTL com as novas preferências.
Hibernar
O driver de política especifica TRUE para indicar que o sistema deve hibernar para resolver uma condição térmica. Depois que a condição térmica for resolvida, o driver de política deverá definir esse membro como FALSE. Se o sistema não der suporte à hibernação ou se a hibernação estiver desabilitada, o sistema será desligado.
Crítico
O driver de política especifica TRUE para indicar que o sistema deve desligar para resolver uma condição térmica.
ThermalStandby
O driver de política especifica TRUE para indicar que o sistema deve entrar em espera para resolver uma condição térmica. Depois que a condição térmica for resolvida, o driver de política deverá definir esse membro como FALSE.
ActivationReasons
Especifica por que a zona térmica é limitada.
0x00000000
Indica que a zona não é limitada.
#define TZ_ACTIVATION_REASON_THERMAL 0x00000001
Indica que a zona é limitada por motivos térmicos.
#define TZ_ACTIVATION_REASON_CURRENT 0x00000002
Indica que a zona é limitada porque o sistema não pode fornecer corrente suficiente.
PassiveLimit
Especifica a quantidade com a qual a zona térmica deve ser limitada. 100 representa sem limite, enquanto 0 representa totalmente limitado.
ActiveLevel
Especifica o índice (de 0 a 9) do conjunto atual de dispositivos de resfriamento ativos que devem ser ativados. Por exemplo, definir um ActiveLevel de 4 envolveria todos os dispositivos na lista de dispositivos _AL4 da zona térmica, bem como quaisquer listas de dispositivos com índice mais alto (_AL5 etc.). Especificar 10 desabilitará todos os dispositivos de resfriamento ativos.