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 |
---|---|
|
Identificador de mensaje. |
wParam
Value | Significado |
---|---|
|
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 |
|