evento PBT_APMQUERYSUSPEND
[PBT_APMQUERYSUSPEND está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. La compatibilidad con este evento se quitó en Windows Vista. Use SetThreadExecutionState en su lugar.
Solicita permiso para suspender el equipo. Una aplicación que concede este permiso tiene que realizar los preparativos para la suspensión antes de volver.
Una ventana recibe este evento a través del mensaje WM_POWERBROADCAST . Los parámetros wParam y lParam se establecen como se describe a continuación.
LRESULT
CALLBACK
WindowProc( HWND hwnd, // handle to window
UINT uMsg, // WM_POWERBROADCAST
WPARAM wParam, // PBT_APMQUERYSUSPEND
LPARAM lParam); // action flags
Parámetros
-
Hwnd
-
Identificador de ventana.
- *uMsg*
-
Valor Significado - WM_POWERBROADCAST
- 536 (0x218)
Identificador de mensaje. - *wParam*
-
Valor Significado - PBT_APMQUERYSUSPEND
- 0 (0x0)
Identificador de evento. -
lParam
-
Marcas de acción. Si el bit 0 es 1, la aplicación puede solicitar al usuario instrucciones sobre cómo prepararse para la suspensión; de lo contrario, la aplicación debe prepararse sin interacción del usuario. Todos los demás valores de bits están reservados.
Valor devuelto
Devuelve TRUE para conceder a la solicitud que se suspenda. Para denegar la solicitud, devuelva BROADCAST_QUERY_DENY.
Comentarios
Una aplicación debe procesar este evento lo antes posible. La aplicación puede solicitar al usuario instrucciones sobre cómo prepararse para la suspensión solo si se establece el bit 0 en el parámetro Flags . Sin embargo, si se emite este mensaje porque el usuario está cerrando la tapa del portátil, no será posible preguntar al usuario. Las aplicaciones deben respetar que el usuario espera un comportamiento determinado cuando cierra la tapa del portátil o presiona el botón de encendido y permite que la transición se realice correctamente.
El sistema permite aproximadamente 20 segundos para que una aplicación quite el mensaje WM_POWERBROADCAST que envía el evento PBT_APMQUERYSUSPEND desde la cola de mensajes de la aplicación. Si una aplicación no quita el mensaje de su cola en menos de 20 segundos, el sistema asume que la aplicación está en un estado que no responde y que la aplicación acepta la solicitud de suspensión. Las aplicaciones que no procesan sus colas de mensajes pueden interrumpir sus operaciones. Después de quitar el mensaje de la cola de mensajes, una aplicación puede tardar tanto tiempo como sea necesario para realizar las operaciones necesarias antes de entrar en el estado de suspensión. Todas las operaciones que puedan tardar más de 20 segundos deben realizarse en este momento, ya que el sistema solo permite que las operaciones se completen durante PBT_APMSUSPEND procesamiento.
Requisitos
| Requisito | Valor |
|---|---|
| Cliente mínimo compatible |
Windows XP [solo aplicaciones de escritorio] |
| Servidor mínimo compatible |
Windows Server 2003 [solo aplicaciones de escritorio] |
| Fin de compatibilidad de cliente |
Windows XP |
| Fin de compatibilidad de servidor |
Windows Server 2003 |
| Encabezado |
|