PBT_APMQUERYSUSPEND-Ereignis
PBT_APMQUERYSUSPEND ist für die Verwendung in den Betriebssystemen verfügbar, die im Abschnitt „Anforderungen“ angegeben sind. Die Unterstützung für dieses Ereignis wurde in Windows Vista entfernt. Verwenden Sie stattdessen SetThreadExecutionState.]
Fordert die Berechtigung zum Anhalten des Computers an. Eine Anwendung, die die Erlaubnis erteilt, sollte die Vorbereitungen für die Unterbrechung vor der Rückgabe treffen.
Ein Fenster empfängt dieses Ereignis über die WM_POWERBROADCAST-Meldung. 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 zum Fenster.
uMsg
Wert | Bedeutung |
---|---|
|
Meldungsbezeichner. |
wParam
Wert | Bedeutung |
---|---|
|
Ereignisbezeichner. |
lParam
Das Aktions-Flag. Wenn das 0. Bit 1 ist, kann die Anwendung den Benutzer bzw. die Benutzerin auffordern, Anweisungen zur Vorbereitung der Unterbrechung zu geben; andernfalls muss die Anwendung die Vorbereitung ohne Benutzerinteraktion durchführen. Alle anderen Bitwerte sind reserviert.
Rückgabewert
Geben Sie TRUE zurück, um die Anforderung zum Anhalten 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 bzw. die Benutzerin nur dann um Anweisungen zur Vorbereitung der Unterbrechung bitten, wenn das 0. Bit im Parameter Flags gesetzt ist. Wenn diese Meldung jedoch ausgegeben wird, weil der Benutzer bzw. die Benutzerin den Laptop schließt, ist dies nicht möglich. Um einen erfolgreichen Übergang zu gewährleisten, sollten Anwendungen das von Benutzer*innen erwartete Verhalten befolgen, wenn der Laptop geschlossen oder der Einschaltknopf drückt wird.
Das System lässt einer Anwendung etwa 20 Sekunden Zeit, um die Meldung WM_POWERBROADCAST, die das Ereignis PBT_APMQUERYSUSPEND sendet, aus der Meldungswarteschlange der Anwendung zu entfernen. Wenn eine Anwendung die Meldung nicht in weniger als 20 Sekunden aus ihrer Warteschlange entfernt, geht das System davon aus, dass die Anwendung nicht mehr reagiert und der Anforderung des Ruhezustands zustimmt. Anwendungen, die ihre Meldungswarteschlangen nicht verarbeiten, haben möglicherweise Probleme bei der Ausführung ihrer Vorgänge. Nachdem sie die Meldung aus der Meldungswarteschlange entfernt hat, kann sich eine Anwendung so viel Zeit nehmen, wie sie benötigt, um alle erforderlichen Vorgänge durchzuführen, bevor sie in den Ruhezustand übergeht. Zu diesem Zeitpunkt sollten alle Vorgänge, die länger als 20 Sekunden dauern könnten, ausgeführt werden, da das System während der Verarbeitung von PBT_APMSUSPEND nur 20 Sekunden für den Abschluss von Vorgängen zulässt.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows Server 2003 [nur Desktop-Apps] |
Ende des Clientsupports |
Windows XP |
Ende der Serverunterstützung |
Windows Server 2003 |
Header |
|