Terminates the specified process and all of its threads.
Syntax
|
BOOL WINAPI TerminateProcess(
__in HANDLE hProcess,
__in UINT uExitCode
);
|
Parameters
- hProcess [in]
-
A handle to the process to be terminated.
The handle must have the PROCESS_TERMINATE access right. For more information, see
Process Security and Access Rights.
- uExitCode [in]
-
The exit code to be used by the process and threads terminated as a result of this call. Use the
GetExitCodeProcess function to retrieve a process's exit value. Use the
GetExitCodeThread function to retrieve a thread's exit value.
Return Value
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call
GetLastError.
Remarks
The
TerminateProcess function is used to unconditionally cause a process to exit. The state of global data maintained by dynamic-link libraries (DLLs) may be compromised if
TerminateProcess is used rather than
ExitProcess.
TerminateProcess initiates termination and returns immediately. This stops execution of all threads within the process and requests cancellation of all pending I/O. The terminated process cannot exit until all pending I/O has been completed or canceled.
A process cannot prevent itself from being terminated.
Requirements
| Client | Requires Windows Vista, Windows XP, or Windows 2000 Professional. |
| Server | Requires Windows Server 2008, Windows Server 2003, or Windows 2000 Server. |
|---|
| Header | Declared in Winbase.h; include Windows.h. |
| Library | Use Kernel32.lib. |
| DLL | Requires Kernel32.dll. |
See Also
ExitProcess
OpenProcess
GetExitCodeProcess
GetExitCodeThread
Process and Thread Functions
Processes
Terminating a Process
Send comments about this topic to Microsoft
Build date: 10/9/2008