Partager via


THERMAL_POLICY

Le struct THERMAL_POLICY est utilisé avec le code de contrôle d’E/S IOCTL_THERMAL_READ_POLICY. Les pilotes de stratégie utilisent IOCTL_THERMAL_READ_POLICY afin de définir la stratégie thermique pour leur zone thermique associée. Si aucune stratégie thermique n’est spécifiée, le noyau utilise les stratégies spécifiées par les objets et méthodes ACPI déclarés sous la zone thermique, comme décrit dans la spécification ACPI.

Syntaxe

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;

Membres

Version

Spécifie la version de la structure de stratégie. La version actuelle est THERMAL_POLICY_VERSION_1.

WaitForUpdate

Spécifie si le pilote de stratégie doit terminer immédiatement l’IOCTL IOCTL_THERMAL_READ_POLICY. Si l’état est à jour et que WaitForUpdate a la valeur TRUE, le pilote de stratégie doit mettre l’IOCTL dans un état annulable jusqu’à ce que l’une de ses préférences de stratégie ait changé, stade auquel cas il doit terminer l’IOCTL avec les nouvelles préférences. Si l’état n’est pas à jour ou si WaitForUpdate a la valeur FALSE, le pilote de stratégie doit immédiatement terminer l’IOCTL avec les nouvelles préférences.

Mise en veille prolongée

Le pilote de stratégie spécifie TRUE pour indiquer que le système doit basculer en veille prolongée afin de résoudre une condition thermique. Une fois la condition thermique résolue, le pilote de stratégie doit définir ce membre sur FALSE. Si le système ne prend pas en charge la mise en veille prolongée, ou si la mise en veille prolongée est désactivée, le système s’arrête à la place.

Critical

Le pilote de stratégie spécifie TRUE pour indiquer que le système doit s’arrêter afin de résoudre une condition thermique.

ThermalStandby

Le pilote de stratégie spécifie TRUE pour indiquer que le système doit basculer en veille afin de résoudre une condition thermique. Une fois la condition thermique résolue, le pilote de stratégie doit définir ce membre sur FALSE.

ActivationReasons

Spécifie la raison pour laquelle la zone thermique est limitée.

  • 0x00000000

    Indique que la zone n’est pas limitée.

  • #define TZ_ACTIVATION_REASON_THERMAL 0x00000001

    Indique que la zone est limitée pour des raisons thermiques.

  • #define TZ_ACTIVATION_REASON_CURRENT 0x00000002

    Indique que la zone est limitée car le système ne peut pas fournir suffisamment de courant.

PassiveLimit

Spécifie la quantité de limitation de la zone thermique. 100 représente une limitation nulle, tandis que 0 représente une limitation complète.

ActiveLevel

Spécifie l’index (de 0 à 9) de l’ensemble actuel des périphériques de refroidissement actifs qui doivent être engagés. Par exemple, si vous affectez la valeur 4 à ActiveLevel, cela engage tous les périphériques figurant dans la liste des périphériques _AL4 de la zone thermique, ainsi que toute liste de périphériques d’index supérieur (_AL5, etc.). Si vous spécifiez la valeur 10, cela désactive tous les périphériques de refroidissement actifs.

THERMAL_WAIT_READ

Gestion thermique dans Windows