Funzione ExitProcess (processthreadsapi.h)
Termina il processo chiamante e tutti i relativi thread.
Sintassi
void ExitProcess(
[in] UINT uExitCode
);
Parametri
[in] uExitCode
Codice di uscita per il processo e tutti i thread.
Valore restituito
nessuno
Osservazioni
Usare la funzione GetExitCodeProcess per recuperare il valore di uscita del processo. Usare la funzione GetExitCodeThread per recuperare il valore di uscita di un thread.
Se si esce da un processo, si verifica quanto segue:
- Tutti i thread del processo, ad eccezione del thread chiamante, terminano l'esecuzione senza ricevere una notifica di DLL_THREAD_DETACH.
- Gli stati di tutti i thread terminati nel passaggio 1 diventano segnalato.
- Le funzioni del punto di ingresso di tutte le DLL (Dynamic Link Librarie) caricate vengono chiamate con DLL_PROCESS_DETACH.
- Dopo che tutte le DLL associate hanno eseguito qualsiasi codice di terminazione del processo, la funzione ExitProcess termina il processo corrente, incluso il thread chiamante.
- Lo stato del thread chiamante viene segnalato.
- Tutti gli handle di oggetto aperti dal processo vengono chiusi.
- Lo stato di terminazione del processo passa da STILL_ACTIVE al valore di uscita del processo.
- Lo stato dell'oggetto processo viene segnalato, soddisfacendo tutti i thread in attesa che il processo venga terminato.
La chiamata a ExitProcess in una DLL può causare errori imprevisti dell'applicazione o del sistema. Assicurarsi di chiamare ExitProcess da una DLL solo se si conoscono le applicazioni o i componenti di sistema che caricheranno la DLL e che è possibile chiamare ExitProcess in questo contesto.
L'uscita da un processo non comporta la terminazione dei processi figlio.
L'uscita da un processo non comporta necessariamente la rimozione dell'oggetto processo dal sistema operativo. Un oggetto processo viene eliminato quando l'ultimo handle per il processo viene chiuso.
Esempio
Per un esempio, vedere Creazione di un processo figlio con input e output reindirizzati.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | processthreadsapi.h (include Windows.h in Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2) |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |