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 |
|
Voir aussi