Disconnessione
La funzioneExitWindowsdisconnette l'utente corrente. È anche possibile chiamare la funzioneExitWindowsExcon il flag EXW_LOGOFF.
Per impostazione predefinita, quando un'applicazione usa ExitWindows o ExitWindowsEx per disconnettersi, il sistema invia il messaggio WM_QUERYENDSESSION a ogni finestra. Le applicazioni accettano di terminare restituendo TRUE quando ricevono questo messaggio. Se un'applicazione restituisce FALSE durante l'elaborazione del messaggio, l'operazione di disconnessione viene annullata. Se l'applicazione gestisce il messaggio di WM_QUERYENDSESSION, è possibile consentire all'utente di annullare l'operazione di disconnessione, anche se un'altra applicazione o il sistema ha originato la richiesta di sessione finale. Per un esempio, vedere Come disconnettere l'utente corrente.
Quando un'applicazione restituisce TRUE per WM_QUERYENDSESSION, riceve il messaggio di WM_ENDSESSION e viene terminato, indipendentemente dal modo in cui le altre applicazioni rispondono al messaggio WM_QUERYENDSESSION.
Per forzare l'interruzione di tutte le applicazioni, usare ExitWindowsExe specificare il flag di EXW_FORCE. Ciò impedisce al sistema di inviare messaggi WM_QUERYENDSESSION.
Il sistema invia anche il segnale di controllo CTRL_LOGOFF_EVENT a ogni processo durante un'operazione di disconnessione. Un'applicazione console può registrare un HandlerRoutine per elaborare questi messaggi.
Se il processo che ha chiamato ExitWindowsEx è in esecuzione nella sessione di accesso nella quale si trova l'utente interattivo, tutti i processi nella sessione di accesso vengono terminati. Se il processo che chiama ExitWindowsEx si trova in un'altra sessione di accesso, vengono effettuate solo le notifiche; nessun processo viene terminato.
Argomenti correlati