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 |
|