WM_ENDSESSION mensagem
A mensagem WM_ENDSESSION é enviada a um aplicativo depois que o sistema processa os resultados da mensagem WM_QUERYENDSESSION . A mensagem WM_ENDSESSION informa ao aplicativo se a sessão está terminando.
Uma janela recebe essa mensagem por meio da função 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
-
Um identificador para a janela.
-
uMsg
-
O identificador WM_ENDSESSION .
-
wParam
-
Se a sessão estiver sendo encerrada, esse parâmetro será TRUE; a sessão pode terminar a qualquer momento depois que todos os aplicativos retornarem do processamento dessa mensagem. Caso contrário, será FALSE.
-
lParam
-
Esse parâmetro pode usar um dos valores a seguir. Se esse parâmetro for 0, o sistema será desligado ou reiniciado (não é possível determinar qual evento está ocorrendo).
Valor Significado - ENDSESSION_CLOSEAPP
- 0x1
Se wParam for TRUE, o aplicativo deverá ser desligado. Todos os dados devem ser salvos automaticamente sem avisar o usuário (para obter mais informações, consulte Comentários). O Gerenciador de Reinicialização envia essa mensagem quando o aplicativo está usando um arquivo que precisa ser substituído, quando deve atender ao sistema ou quando os recursos do sistema estão esgotados. O aplicativo será reiniciado se tiver se registrado para reiniciar usando a função RegisterApplicationRestart . Para obter mais informações, consulte Diretrizes para aplicativos.
Se wParam for FALSE, o aplicativo não deverá ser desligado.- ENDSESSION_CRITICAL
- 0x40000000
O aplicativo é forçado a desligar. - ENDSESSION_LOGOFF
- 0x80000000
O usuário está fazendo logoff. Para obter mais informações, consulte Log Off. Observe que esse parâmetro é uma máscara de bits. Para testar esse valor, use uma operação bit a bit; não teste a igualdade.
Retornar valor
Se um aplicativo processar essa mensagem, ele deverá retornar zero.
Comentários
Aplicativos que têm dados não salvos podem salvar os dados em um local temporário e restaurá-los na próxima vez que o aplicativo for iniciado. É recomendável que os aplicativos salvem seus dados e estado com frequência; por exemplo, salve automaticamente os dados entre as operações de salvamento iniciadas pelo usuário para reduzir a quantidade de dados a serem salvos no desligamento.
O aplicativo não precisa chamar a função DestroyWindow ou PostQuitMessage quando a sessão está terminando.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows XP [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte |
Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP] |
Cabeçalho |
|
Confira também