WM_ENDSESSION message

Le message WM_ENDSESSION est envoyé à une application après que le système a traite les résultats du message WM_QUERYENDSESSION . Le message WM_ENDSESSION indique à l’application si la session se termine.

Une fenêtre reçoit ce message via sa fonction WindowProc.

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

Paramètres

Hwnd

Handle de la fenêtre.

uMsg

Identificateur WM_ENDSESSION .

wParam

Si la session est terminée, ce paramètre a la valeur TRUE ; la session peut se terminer à tout moment une fois que toutes les applications sont retournées après le traitement de ce message. Sinon, elle est FALSE.

lParam

Ce paramètre peut prendre une ou plusieurs des valeurs suivantes. Si ce paramètre a la valeur 0, le système s’arrête ou redémarre (il n’est pas possible de déterminer l’événement qui se produit).

Valeur Signification
ENDSESSION_CLOSEAPP
0x1
Si wParam a la valeur TRUE, l’application doit s’arrêter. Toutes les données doivent être enregistrées automatiquement sans inviter l’utilisateur (pour plus d’informations, voir Remarques). Le Gestionnaire de redémarrage envoie ce message lorsque l’application utilise un fichier qui doit être remplacé, lorsqu’elle doit traiter le système ou lorsque les ressources système sont épuisées. L’application sera redémarrée si elle s’est inscrite pour redémarrer à l’aide de la fonction RegisterApplicationRestart . Pour plus d’informations, consultez Recommandations pour les applications.
Si wParam a la valeur FALSE, l’application ne doit pas s’arrêter.
ENDSESSION_CRITICAL
0x40000000
L’application est forcée de s’arrêter.
ENDSESSION_LOGOFF
0x80000000
L’utilisateur se déconnecte. Pour plus d’informations, consultez Déconnexion.

 

Notez que ce paramètre est un masque de bits. Pour tester cette valeur, utilisez une opération de bits ; ne testent pas l’égalité.

Valeur retournée

Si une application traite ce message, elle doit retourner zéro.

Notes

Les applications qui ont des données non enregistrées peuvent enregistrer les données dans un emplacement temporaire et les restaurer lors du prochain démarrage de l’application. Il est recommandé que les applications enregistrent fréquemment leurs données et leur état ; par exemple, enregistrez automatiquement des données entre les opérations d’enregistrement initiées par l’utilisateur pour réduire la quantité de données à enregistrer à l’arrêt.

L’application n’a pas besoin d’appeler la fonction DestroyWindow ou PostQuitMessage lorsque la session se termine.

Configuration requise

Condition requise Valeur
Client minimal pris en charge
Windows XP [applications de bureau | Applications UWP]
Serveur minimal pris en charge
Windows Server 2003 [applications de bureau | Applications UWP]
En-tête
WinUser.h (inclure Windows.h)

Voir aussi

Déconnexion

Fermeture

DestroyWindow

PostQuitMessage

SetProcessShutdownParameters

WM_QUERYENDSESSION