Compartir a través de


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 conceda permiso debe llevar a cabo los preparativos para la suspensión antes de devolver.

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

Value Significado
WM_POWERBROADCAST
536 (0x218)
Identificador de mensaje.

wParam

Value 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 la interacción del usuario. Todos los demás valores de bits están reservados.

Valor devuelto

Devuelve TRUE para conceder la solicitud que se suspenderá. 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 cierra la tapa del portátil, no será posible preguntar al usuario. Las aplicaciones deben respetar que el usuario espera un comportamiento determinado cuando cierran la tapa del portátil o presionan el botón de encendido y permiten 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 haber interrumpido 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. Cualquier operación que pueda tardar más de 20 segundos debe realizarse en este momento, ya que el sistema solo permite 20 segundos para que se completen las operaciones durante el procesamiento de PBT_APMSUSPEND.

Requisitos

Requisito Valor
Cliente mínimo compatible
Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2003 [solo aplicaciones de escritorio]
Finalización del soporte técnico de cliente
Windows XP
Fin del soporte técnico del servidor
Windows Server 2003
Encabezado
WinUser.h (incluya Windows.h)

Consulte también