Freigeben über


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

Siehe auch

PowerClearRequest

PowerCreateRequest