Disconnessione

La funzione ExitWindows registra l'utente corrente. È anche possibile chiamare la funzione ExitWindowsEx con il flag di EXW_LOGOFF.

Per impostazione predefinita, quando un'applicazione usa ExitWindows o ExitWindowsEx per disconnettersi, il sistema invia il messaggio di WM_QUERYENDSESSION a ogni finestra. Le applicazioni accettano di terminare restituendo TRUE quando ricevono questo messaggio. Se un'applicazione restituisce FALSE durante l'elaborazione di questo 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 generato la richiesta di sessione finale. Per un esempio, vedere Come disconnettersi dall'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 di WM_QUERYENDSESSION .

Per forzare l'interruzione di tutte le applicazioni, usare ExitWindowsEx e specificare il flag di EXW_FORCE. Ciò impedisce al sistema di inviare messaggi di 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 gestoreRoutine per elaborare questi messaggi.

Se il processo denominato ExitWindowsEx è in esecuzione nella sessione di accesso dell'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 eseguite solo le notifiche; nessun processo viene terminato.

Come disconnettersi dall'utente corrente