Freigeben über


THERMAL_POLICY

Die THERMAL_POLICY-Struktur wird mit dem E/A-Steuerungscode IOCTL_THERMAL_READ_POLICY verwendet. Richtlinientreiber verwenden IOCTL_THERMAL_READ_POLICY, um die Wärmerichtlinie für die zugeordnete Thermozone festzulegen. Wenn keine Wärmerichtlinie angegeben ist, verwendet der Kernel die Richtlinien, die von den ACPI-Objekten und -Methoden angegeben werden, die unter der Thermozone deklariert und in der ACPI-Spezifikation beschrieben sind.

Syntax

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;

Member

Version

Gibt die Version der Richtlinienstruktur an. Die aktuelle Version ist THERMAL_POLICY_VERSION_1.

WaitForUpdate

Gibt an, ob der Richtlinientreiber den E/A-Steuerungscode (IOCTL) IOCTL_THERMAL_READ_POLICY sofort abschließen soll. Wenn der Zustand aktuell ist und WaitForUpdate den Wert TRUE hat, sollte der Richtlinientreiber den IOCTL in einem abbrechbaren Zustand schreiben, bis eine seiner Richtlinieneinstellungen geändert wird. Zu diesem Zeitpunkt sollte der IOCTL mit den neuen Einstellungen abgeschlossen werden soll. Wenn der Status nicht auf dem neuesten Stand ist oder WaitForUpdate den Wert FALSE hat, sollte der Richtlinientreiber sofort den IOCTL mit den neuen Einstellungen abschließen.

Ruhezustand

Der Richtlinientreiber gibt mit TRUE an, dass das System in den Ruhezustand wechseln soll, um eine thermische Ausnahmesituation zu beheben. Nachdem die thermische Ausnahme behoben wurde, sollte der Richtlinientreiber dieses Element auf FALSE festlegen. Wenn das System den Ruhezustand nicht unterstützt oder wenn der Ruhezustand deaktiviert ist, wird das System stattdessen heruntergefahren.

Critical (Kritisch)

Der Richtlinientreiber gibt mit TRUE an, dass das System heruntergefahren werden soll, um eine thermische Ausnahmesituation zu beheben.

ThermalStandby

Der Richtlinientreiber gibt mit TRUE an, dass das System in den Standbymodus wechseln soll, um eine thermische Ausnahmesituation zu beheben. Nachdem die thermische Ausnahme behoben wurde, sollte der Richtlinientreiber dieses Element auf FALSE festlegen.

ActivationReasons

Gibt an, warum die Thermozone gedrosselt ist.

  • 0x00000000

    Gibt an, dass die Zone nicht gedrosselt ist.

  • #define TZ_ACTIVATION_REASON_THERMAL 0x00000001

    Gibt an, dass die Zone aus thermischen Gründen gedrosselt ist.

  • #define TZ_ACTIVATION_REASON_CURRENT 0x00000002

    Gibt an, dass die Zone gedrosselt ist, da das System keine ausreichende Energie liefern kann.

PassiveLimit

Gibt den Betrag an, um den die Thermozone gedrosselt werden soll. 100 stellt nicht gedrosselt dar, während 0 vollständig gedrosselt ist.

ActiveLevel

Gibt den Index (0–9) der aktuell aktiven Kühlgeräte an, die verwendet werden sollen. Das Festlegen von ActiveLevel auf 4 würde beispielsweise alle Geräte in der Geräteliste _AL4 der Thermozone sowie alle Listen mit höher indizierten Geräten (_AL5 usw.) einbeziehen. Bei Angabe von 10 werden alle aktiven Kühlgeräte deaktiviert.

THERMAL_WAIT_READ

Wärmeverwaltung in Windows