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
WinUser.h (incluya Windows.h)

Consulte también

Eventos de reactivación del sistema

Eventos de administración de energía

PBT_APMSUSPEND

WM_POWERBROADCAST