Compartilhar via


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

typedef struct _THERMAL_POLICY {

ULONG Version; BOOLEAN WaitForUpdate;

BOOLEAN Hibernate;

BOOLEAN Critical;

BOOLEAN ThermalStandby;

ULONG ActivationReasons;

ULONG PassiveLimit;

ULONG ActiveLevel;

} THERMAL_POLICY, *PTHERMAL_POLICY;

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.

THERMAL_WAIT_READ

Gerenciamento térmico no Windows