PBT _ APMQUERYSUSPEND-Ereignis

[PBT APMQUERYSUSPEND steht für die Verwendung in den im Abschnitt Anforderungen _ angegebenen Betriebssystemen zur Verfügung. Die Unterstützung für dieses Ereignis wurde in Windows Vista entfernt. Verwenden Sie stattdessen SetThreadExecutionState.]

Fordert die Berechtigung zum Aussetzen des Computers an. Eine Anwendung, die die Erlaubnis erteilt, muss vor dem Beenden Vorbereitungen für den Standbymodus treffen.

Ein Fenster empfängt dieses Ereignis über die WM _ POWERBROADCAST-Nachricht. Die Parameter wParam und lParam werden wie folgt festgelegt.

LRESULT 
CALLBACK 
WindowProc( HWND   hwnd,    // handle to window
            UINT   uMsg,    // WM_POWERBROADCAST
            WPARAM wParam,  // PBT_APMQUERYSUSPEND
            LPARAM lParam); // action flags

Parameter

Hwnd

Ein Handle für ein Fenster.

*uMsg*
Wert Bedeutung
WM _ POWERBROADCAST
536 (0x218)
Nachrichtenbezeichner.
*wParam*
Wert Bedeutung
PBT _ APMQUERYSUSPEND
0 (0x0)
Ereignisbezeichner.

lParam

Die Aktionsflags. Wenn Bit 0 1 ist, kann die Anwendung den Benutzer auffordern, anweisungen zur Vorbereitung auf das Aussetzen zu erhalten. Andernfalls muss die Anwendung ohne Benutzerinteraktion vorbereitet werden. Alle anderen Bitwerte sind reserviert.

Rückgabewert

Geben Sie TRUE zurück, um der Anforderung das Aussetzen zu gewähren. Um die Anforderung zu verweigern, geben Sie BROADCAST _ QUERY _ DENY zurück.

Hinweise

Eine Anwendung sollte dieses Ereignis so schnell wie möglich verarbeiten. Die Anwendung kann den Benutzer nur dann zur Eingabe von Anweisungen zur Vorbereitung auf die Unterbrechung auffordern, wenn Bit 0 im Flags-Parameter festgelegt ist. Wenn diese Meldung jedoch ausgegeben wird, weil der Benutzer den Laptop schließt, kann der Benutzer nicht dazu aufgefordert werden. Anwendungen sollten darauf achten, dass der Benutzer ein bestimmtes Verhalten erwartet, wenn er den Laptop schließt oder den Netzschalter drückt und den Übergang erfolgreich ermöglicht.

Das System erlaubt einer Anwendung ungefähr 20 Sekunden, die WM _ POWERBROADCAST-Nachricht zu entfernen, die das PBT APMQUERYSUSPEND-Ereignis aus der Nachrichtenwarteschlange der Anwendung _ sendet. Wenn eine Anwendung die Nachricht nicht in weniger als 20 Sekunden aus der Warteschlange entfernt, geht das System davon aus, dass sich die Anwendung in einem nicht reaktionsschnellen Zustand befindet und dass die Anwendung der Sleepanforderung zu stimmt. Bei Anwendungen, die ihre Nachrichtenwarteschlangen nicht verarbeiten, werden ihre Vorgänge möglicherweise unterbrochen. Nachdem die Nachricht aus der Nachrichtenwarteschlange entfernt wurde, kann eine Anwendung so viel Zeit wie nötig benötigen, um alle erforderlichen Vorgänge durchzuführen, bevor sie in den Ruhezustand eintritt. Alle Vorgänge, die länger als 20 Sekunden dauern können, sollten zu diesem Zeitpunkt ausgeführt werden, da das System nur 20 Sekunden für Vorgänge während der PBT _ APMSUSPEND-Verarbeitung zulässt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows Nur [ XP-Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Nur Server [ 2003-Desktop-Apps]
Ende des Supports (Client)
Windows XP
Ende des Supports (Server)
Windows Server 2003
Header
WinUser.h (include Windows.h)

Weitere Informationen

Systemreaktivingsereignisse

Energieverwaltungsereignisse

PBT _ APMSUSPEND

WM _ POWERBROADCAST