Verwalten von Geräteleistungszuständen

Windows Vista verfügt über eine erweiterte Energieverwaltungsinfrastruktur, die es Treiberstapeln ermöglicht, die Energierichtlinie ihrer Geräte besser zu verwalten. Treiber können sich registrieren, um benachrichtigt zu werden, wenn sich systemdefinierte Energieeinstellungen ändern oder wenn Systemstromereignisse auftreten. Ein Besitzer der Geräteenergierichtlinie kann diese Benachrichtigungen verwenden, um den Energieverbrauch seiner Geräte entsprechend anzupassen. Darüber hinaus können Sie benutzerdefinierte Energieeinstellungen erstellen, die Zugriff auf gerätespezifische Energie- und Leistungsfeatures bieten, die eng in die Systemenergierichtlinie integriert werden können. Im Folgenden finden Sie die beiden wichtigsten Ansätze zur Integration von Geräteleistungszuständen und Energiesparverhalten in die Systemenergierichtlinie.

Erstellen benutzerdefinierter Energieeinstellungen für ein Gerät

Registrieren, um über eine Änderung des Aktiven Energieschemas, der Energieschemapersönlichkeit oder der Energiequelle benachrichtigt zu werden

Erstellen benutzerdefinierter Energieeinstellungen für ein Gerät

Sie können benutzerdefinierte Energieeinstellungen definieren, die zum Konfigurieren von Geräteleistungszuständen oder Energiesparverhalten verwendet werden können. Informationen zu den benutzerdefinierten Energieeinstellungen werden vom Energie-Manager gespeichert und verwaltet. Andere Komponenten im System, z. B. Gerätetreiber, Dienste oder Anwendungen, können sich registrieren, um benachrichtigt zu werden, wenn sich der Wert einer benutzerdefinierten Energieeinstellung ändert. Im Allgemeinen sollten Geräte, die in der Lage sind, die Leistung mit dem Stromverbrauch abzuwägen, über entsprechende benutzerdefinierte Energieeinstellungen verfügen. Das Erstellen benutzerdefinierter Energieeinstellungen ist der flexibelste Ansatz zur engen Integration des Energieverbrauchs in die Systemenergierichtlinie und bietet die folgenden zusätzlichen Vorteile:

  • Eine benutzerdefinierte Benutzeroberfläche ist nicht erforderlich, um benutzerdefinierte Energieeinstellungen für einen Benutzer zugänglich zu machen. Alle Energieeinstellungen, einschließlich benutzerdefinierter Energieeinstellungen, werden dem Benutzer auf der Seite Erweiterte Einstellungen des Systemsteuerung Energieoptionen angezeigt.

  • Benutzer und Systemadministratoren können die Konfiguration von benutzerdefinierten Energieeinstellungen problemlos mithilfe von Powercfg.exe, dem Befehlszeilentool für die Energieverwaltung, erstellen.

  • Optional kann ein Systemadministrator eine administrative Vorlage erstellen (. ADM)-Datei, die die gruppenrichtlinienbasierte Konfiguration neuer Energieeinstellungen ermöglicht.

Eine einzelne Energieeinstellung enthält alle Informationen, die zum eindeutigen Identifizieren, Benennen, Beschreiben und Bereitstellen von Werten für die Energieeinstellung erforderlich sind. Jede Energieeinstellung wird mit einer GUID, einem Einstellungsnamen, einer Beschreibung und Standardeinstellungen für Ac- und DC-Energieschemas definiert. Eine benutzerdefinierte Energieeinstellung kann statisch für ein Gerät erstellt werden, indem eine INF AddPowerSetting-Direktive verwendet wird, oder dynamisch durch Aufrufen der Win32-Energieverwaltungsfunktionen, die in der Energieverwaltungsreferenz enthalten sind, die in Microsoft Windows SDK Dokumentation bereitgestellt wird.

Treiber rufen PoRegisterPowerSettingCallback auf, um eine Rückrufroutine zu registrieren, die der Power Manager aufruft, um den Treiber über eine Änderung an einer Energieeinstellung zu informieren. Wenn sich die Einstellung ändert, ruft der Power Manager die Rückrufroutine auf und übergibt den neuen Einstellungswert. Treiber können dann die aktion ausführen, die für die Energieeinstellung geeignet ist. Jede Einstellung wird durch die GUID der Energieeinstellung identifiziert. Die systemdefinierte GUIDs für Energieeinstellungen sind in Wdm.h und Ntpoapi.h definiert.

Um z. B. benachrichtigt zu werden, wenn der Monitor ein- oder ausgeschaltet ist, ruft ein Treiber PoRegisterPowerSettingCallback auf und stellt die GUID bereit, die die Energieeinstellung des Monitors (GUID_MONITOR_POWER_ON) identifiziert, und einen Zeiger auf die Rückrufroutine, die der Power Manager aufruft, wenn sich der Wert der Monitor-Energieeinstellung ändert.

Registrieren, um über eine Änderung des Aktiven Energieschemas, der Energieschemapersönlichkeit oder der Energiequelle benachrichtigt zu werden

Die Persönlichkeit des Aktivenergieschemas vermittelt die Absicht des Benutzers für das allgemeine Energiesparverhalten des Systems. Jedes Machtschema, einschließlich benutzerdefinierter Schemas, hat eine Persönlichkeit, die die allgemeine Absicht des Schemas angibt. Dadurch können zusätzliche benutzerdefinierte Energieschemas erstellt werden, während gleichzeitig alle Vorteile der Kenntnis der Absicht des Schemas bereitgestellt werden. Windows Vista umfasst die folgenden drei systemdefinierten Energieschemas und die entsprechenden Persönlichkeiten.

Maximale Stromeinsparung
Reduziert die Leistung, um den Stromverbrauch zu minimieren.

Automatisch (ausgeglichen)
Ermöglicht dem System, basierend auf dem Gesamtenergieverbrauch die beste Leistungszustandsstufe auszuwählen.

Maximale Leistung
Bietet maximale Leistung unabhängig vom Stromverbrauch.

Bei der Stromquelle kann es sich entweder um eine Ac- oder dc-Stromquelle handelt.

Ein Besitzer der Geräteenergierichtlinie kann Informationen über das aktive Energieschema, die Persönlichkeit des Energieschemas und die Energiequelle verwenden, um die Energierichtlinie des Geräts anzupassen. Beispielsweise kann ein Besitzer einer Geräteenergierichtlinie ein Gerät aggressiv herunterschalten, wenn sich die Persönlichkeit des Energieschemas in Maximale Stromeinsparung ändert. Wenn sich die Persönlichkeit des Energieschemas jedoch in Maximale Leistung ändert, kann der Besitzer der Geräteenergierichtlinie das Leistungsniveau seiner Geräte beibehalten, anstatt den Energieverbrauch zu reduzieren, und das Gerät möglicherweise jederzeit eingeschaltet lassen, um die höchste Leistungsstufe sicherzustellen.

Ein Treiber kann sich registrieren, um benachrichtigt zu werden, wenn eine Änderung des aktiven Energieschemas, der Persönlichkeit des Energieschemas oder der Stromquelle auftritt. Ein Treiber ruft PoRegisterPowerSettingCallback auf, um die Rückrufroutine zu registrieren, die der Power Manager aufruft, um den Treiber über eine solche Änderung zu informieren, wie folgt:

  • Geben Sie die GUID an, die die Einstellung für das Energieschema (GUID_ACTIVE_POWERSCHEME) darstellt, um sich für die Benachrichtigung über änderungen am aktiven Energieschema zu registrieren. Der Energie-Manager ruft dann die Rückrufroutine auf, wenn sich das aktive Energieschema ändert, auch wenn die Persönlichkeit des neuen Energieschemas mit dem vorherigen Energieschema identisch ist.

  • Geben Sie die GUID an, die die Einstellung für die Energieschemapersönlichkeit (GUID_POWERSCHEME_PERSONALITY) darstellt, um sich für die Benachrichtigung über eine Änderung der Persönlichkeit des Energieschemas zu registrieren. Der Energiemanager ruft dann die Rückrufroutine auf, wenn sich das aktive Energieschema ändert und sich die Persönlichkeit des neuen Energieschemas von der Persönlichkeit des vorherigen Energieschemas unterscheidet.

  • Um sich für die Benachrichtigung über eine Änderung an der Stromquelle zu registrieren, geben Sie die GUID an, die die Einstellung für die Stromquelle darstellt (GUID_ACDC_POWER_SOURCE). Der Energie-Manager ruft dann die Rückrufroutine auf, wenn sich die Energiequelleneinstellung ändert.

Wenn sich das aktive Energieschema ändert oder sich die Persönlichkeit des Energieschemas ändert, ruft der Power Manager die Rückrufroutine auf und übergibt die GUID, die die neue Energieschema- oder Energieschemapersönlichkeit darstellt. Treiber können dann die für die Änderung geeignete Aktion ausführen.

Die Einstellung "Aktives Energieschema" und die Einstellung "Persönlichkeit des Energieschemas" verwenden die folgenden GUIDs, um ihre jeweiligen Werte zu identifizieren:

  • GUID_MAX_POWER_SAVINGS, die dem Energieschema "Maximale Energieeinsparung" und seiner entsprechenden Persönlichkeit entspricht.

  • GUID_MIN_POWER_SAVINGS, die dem Leistungsschema "Maximale Leistung " und seiner entsprechenden Persönlichkeit entspricht.

  • GUID_TYPICAL_POWER_SAVINGS, die dem automatischen (ausgeglichenen) Machtschema und seiner entsprechenden Persönlichkeit entspricht.

Wenn sich die Stromquelle ändert, ruft der Power Manager die Rückrufroutine auf und übergibt die GUID, die die Energiequelle-Einstellung und den Wert der Energiequelle-Einstellung darstellt, die angibt, ob der Computer von einer Wechselstromquelle, einer Gleichstromquelle oder einer kurzfristigen Gleichstromquelle betrieben wird.