PowerSetRequest-Funktion (winbase.h)
Erhöht die Anzahl der Energieanforderungen des angegebenen Typs für ein Energieanforderungsobjekt.
Syntax
BOOL PowerSetRequest(
[in] HANDLE PowerRequest,
[in] POWER_REQUEST_TYPE RequestType
);
Parameter
[in] PowerRequest
Ein Handle für ein Power Request-Objekt.
[in] RequestType
Der energieanforderungstyp, der erhöht werden soll. Dieser Parameter kann einen der folgenden Werte annehmen.
Wert | BESCHREIBUNG |
---|---|
PowerRequestDisplayRequired | Die Anzeige bleibt auch dann aktiviert, wenn für einen längeren Zeitraum keine Benutzereingaben vorhanden sind. Hinweis: Ein PowerRequestSystemRequired muss zusätzlich zu powerRequestDisplayRequired verwendet werden, um sicherzustellen, dass die Anzeige eingeschaltet bleibt und das System für die Dauer der Anforderung nicht in den Ruhezustand wechselt. |
PowerRequestSystemRequired | Das System wird nach einer Phase der Benutzerinaktivität weiterhin ausgeführt, anstatt in den Ruhezustand zu wechseln. |
PowerRequestAwayModeRequired | Das System wechselt als Reaktion auf eine explizite Aktion des Benutzers in den Abwesenheitsmodus anstelle des Ruhezustands. Im Abwesenheitsmodus wird das System weiterhin ausgeführt, schaltet jedoch Audio und Video aus, um den Anschein des Ruhezustands zu verleihen. PowerRequestAwayModeRequired gilt nur für systeme mit herkömmlichem Standbymodus (S3). |
PowerRequestExecutionRequired | Der aufrufende Prozess wird weiterhin ausgeführt, anstatt von Mechanismen zur Verwaltung der Prozesslebensdauer angehalten oder beendet zu werden. Wann und wie lange der Prozess ausgeführt werden darf, hängt von den Einstellungen des Betriebssystems und der Energierichtlinie ab. Auf S3-Systemen (Herkömmlicher Standbymodus) impliziert eine aktive PowerRequestExecutionRequired-AnforderungPowerRequestSystemRequired. |
Rückgabewert
Wenn die Funktion erfolgreich ist, wird ein Wert ungleich null zurückgegeben.
Wenn die Funktion fehlschlägt, wird null zurückgegeben. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
Auf Modernen Standby-Systemen mit Gleichstrom werden die erforderlichen System- und Ausführungsanforderungen 5 Minuten nach Ablauf des Timeouts für den Systemmodus beendet.
Mit Ausnahme von PowerRequestAwayModeRequired auf herkömmlichen Ruhezustandssystemen (S3) werden Energieanforderungen beim vom Benutzer initiierten Systemmoduseintrag beendet (Netzschalter, Deckel schließen oder Im Startmenüruhen auswählen).
Um Energie zu sparen und die beste Benutzererfahrung zu bieten, sollten Anwendungen, die Energieanforderungen verwenden, die folgenden bewährten Methoden befolgen:
- Geben Sie beim Erstellen einer Energieanforderung eine lokalisierte Textzeichenfolge an, die den Grund für die Anforderung in der REASON_CONTEXT-Struktur beschreibt.
- Rufen Sie PowerSetRequest unmittelbar vor dem Szenario auf, das die Anforderung erfordert.
- Rufen Sie PowerClearRequest auf, um die Verweisanzahl für die Anforderung zu verringern, sobald das Szenario abgeschlossen ist.
- Bereinigen Sie alle Anforderungsobjekte und zugeordneten Handles, bevor der Prozess beendet oder der Dienst beendet wird.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 7 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winbase.h (Windows.h einschließen) |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |