mensaje de WM_ENDSESSION

El mensaje WM_ENDSESSION se envía a una aplicación después de que el sistema procese los resultados del mensaje WM_QUERYENDSESSION . El mensaje WM_ENDSESSION informa a la aplicación de si la sesión finaliza.

Una ventana recibe este mensaje a través de la función WindowProc.

LRESULT CALLBACK WindowProc( 
  HWND hwnd,      // handle to window 
  UINT uMsg,      // message identifier 
  WPARAM wParam,  // end-session option 
  LPARAM lParam   // logoff option
);

Parámetros

hwnd

Un identificador de la ventana.

uMsg

Identificador de WM_ENDSESSION .

wParam

Si se finaliza la sesión, este parámetro es TRUE; la sesión puede finalizar en cualquier momento después de que todas las aplicaciones hayan devuelto del procesamiento de este mensaje. De lo contrario, es FALSE.

lParam

Este parámetro puede ser uno o más de los siguientes valores. Si este parámetro es 0, el sistema se apaga o reinicia (no es posible determinar qué evento se está produciendo).

Value Significado
ENDSESSION_CLOSEAPP
0x1
Si wParam es TRUE, la aplicación debe cerrarse. Los datos se deben guardar automáticamente sin preguntar al usuario (para obtener más información, vea Comentarios). El Administrador de reinicio envía este mensaje cuando la aplicación usa un archivo que debe reemplazarse, cuando debe atender al sistema o cuando se agoten los recursos del sistema. La aplicación se reiniciará si se ha registrado para reiniciarse mediante la función RegisterApplicationRestart . Para obtener más información, vea Directrices para aplicaciones.
Si wParam es FALSE, la aplicación no debe cerrarse.
ENDSESSION_CRITICAL
0x40000000
La aplicación se ve obligada a apagarse.
ENDSESSION_LOGOFF
0x80000000
El usuario inicia sesión. Para obtener más información, vea Cerrar sesión.

 

Tenga en cuenta que este parámetro es una máscara de bits. Para probar este valor, use una operación bit a bit; no pruebe la igualdad.

Valor devuelto

Si una aplicación procesa este mensaje, debe devolver cero.

Observaciones

Las aplicaciones que tienen datos no guardados podrían guardar los datos en una ubicación temporal y restaurarlos la próxima vez que se inicie la aplicación. Se recomienda que las aplicaciones guarden sus datos y su estado con frecuencia; por ejemplo, guarde automáticamente los datos entre las operaciones de guardado iniciadas por el usuario para reducir la cantidad de datos que se guardarán durante el apagado.

La aplicación no necesita llamar a la función DestroyWindow o PostQuitMessage cuando finaliza la sesión.

Requisitos

Requisito Value
Cliente mínimo compatible
Windows XP [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible
Windows Server 2003 [aplicaciones de escritorio | Aplicaciones para UWP]
Encabezado
WinUser.h (incluye Windows.h)

Consulte también

Cerrar sesión

Cerrando

DestroyWindow

PostQuitMessage

SetProcessShutdownParameters

WM_QUERYENDSESSION