messaggio WM_ENDSESSION

Il messaggio WM_ENDSESSION viene inviato a un'applicazione dopo che il sistema elabora i risultati del messaggio di WM_QUERYENDSESSION . Il messaggio WM_ENDSESSION informa l'applicazione se la sessione termina.

Una finestra riceve questo messaggio tramite la relativa funzione WindowProc .

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

Parametri

Hwnd

Handle nella finestra.

Umsg

Identificatore WM_ENDSESSION .

wParam

Se la sessione viene terminata, questo parametro è TRUE; la sessione può terminare qualsiasi volta dopo che tutte le applicazioni hanno restituito dall'elaborazione del messaggio. In caso contrario, è FALSE.

lParam

Questo parametro può essere uno o più dei valori seguenti. Se questo parametro è 0, il sistema sta arrestando o riavviando (non è possibile determinare quale evento si sta verificando).

Valore Significato
ENDSESSION_CLOSEAPP
0x1
Se wParam è TRUE, l'applicazione deve arrestarsi. Tutti i dati devono essere salvati automaticamente senza richiedere all'utente (per altre informazioni, vedere Osservazioni). Gestione riavvio invia questo messaggio quando l'applicazione usa un file che deve essere sostituito, quando deve eseguire il servizio del sistema o quando le risorse di sistema vengono esaurite. L'applicazione verrà riavviata se è stata registrata per il riavvio usando la funzione RegisterApplicationRestart . Per altre informazioni, vedere Linee guida per le applicazioni.
Se wParam è FALSE, l'applicazione non deve arrestarsi.
ENDSESSION_CRITICAL
0x40000000
L'applicazione è costretta ad arrestare.
ENDSESSION_LOGOFF
0x80000000
L'utente sta disconnettendo. Per altre informazioni, vedere Disconnessione.

 

Si noti che questo parametro è una maschera di bit. Per testare questo valore, usare un'operazione con bit; non testare l'uguaglianza.

Valore restituito

Se un'applicazione elabora questo messaggio, deve restituire zero.

Commenti

Le applicazioni con dati non salvati potrebbero salvare i dati in una posizione temporanea e ripristinarla alla successiva avvio dell'applicazione. È consigliabile che le applicazioni salvano i dati e lo stato spesso; ad esempio, salvare automaticamente i dati tra operazioni di salvataggio avviate dall'utente per ridurre la quantità di dati da salvare all'arresto.

L'applicazione non deve chiamare la funzione DestroyWindow o PostQuitMessage al termine della sessione.

Requisiti

Requisito Valore
Client minimo supportato
Windows XP [app desktop | App UWP]
Server minimo supportato
Windows Server 2003 [app desktop | App UWP]
Intestazione
WinUser.h (include Windows.h)

Vedi anche

Disconnessione

Arresto

Destroywindow

PostQuitMessage

SetProcessShutdownParameters

WM_QUERYENDSESSION