Fungsi ExitProcess (processthreadsapi.h)
Mengakhiri proses panggilan dan semua utasnya.
Sintaks
void ExitProcess(
[in] UINT uExitCode
);
Parameter
[in] uExitCode
Kode keluar untuk proses dan semua utas.
Nilai kembali
Tidak ada
Keterangan
Gunakan fungsi GetExitCodeProcess untuk mengambil nilai keluar proses. Gunakan fungsi GetExitCodeThread untuk mengambil nilai keluar utas.
Keluar dari proses menyebabkan hal berikut:
- Semua utas dalam proses, kecuali utas panggilan, hentikan eksekusinya tanpa menerima pemberitahuan DLL_THREAD_DETACH.
- Status semua utas yang dihentikan di langkah 1 menjadi sinyal.
- Fungsi titik entri dari semua pustaka tautan dinamis (DLL) yang dimuat dipanggil dengan DLL_PROCESS_DETACH.
- Setelah semua DLL terlampir menjalankan kode penghentian proses apa pun, fungsi ExitProcess mengakhiri proses saat ini, termasuk utas panggilan.
- Status utas panggilan menjadi sinyal.
- Semua handel objek yang dibuka oleh proses ditutup.
- Status penghentian proses berubah dari STILL_ACTIVE ke nilai keluar dari proses.
- Status objek proses menjadi sinyal, memenuhi utas apa pun yang telah menunggu proses dihentikan.
Memanggil ExitProcess di DLL dapat menyebabkan kesalahan aplikasi atau sistem yang tidak terduga. Pastikan untuk memanggil ExitProcess dari DLL hanya jika Anda tahu aplikasi atau komponen sistem mana yang akan memuat DLL dan aman untuk memanggil ExitProcess dalam konteks ini.
Keluar dari proses tidak menyebabkan proses anak dihentikan.
Keluar dari proses tidak selalu menghapus objek proses dari sistem operasi. Objek proses dihapus ketika handel terakhir ke proses ditutup.
Contoh
Misalnya, lihat Membuat Proses Anak dengan Input dan Output yang Dialihkan.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | processthreadsapi.h (termasuk Windows.h pada Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2) |
Pustaka | Kernel32.lib |
DLL | Kernel32.dll |