The SuspendThread function suspends the specified thread.
DWORD SuspendThread(
HANDLE hThread |
// handle to the thread |
); |
Windows NT: The handle must have THREAD_SUSPEND_RESUME access. For more information, see Thread Objects.
If the function succeeds, the return value is the thread’s previous suspend count; otherwise, it is 0xFFFFFFFF. To get extended error information, use the GetLastError function.
If the function succeeds, execution of the specified thread is suspended and the thread’s suspend count is incremented.
Suspending a thread causes the thread to stop executing user-mode (application) code.
Each thread has a suspend count (with a maximum value of MAXIMUM_SUSPEND_COUNT). If the suspend count is greater than zero, the thread is suspended; otherwise, the thread is not suspended and is eligible for execution. Calling SuspendThread causes the target thread’s suspend count to be incremented. Attempting to increment past the maximum suspend count causes an error without incrementing the count.
The ResumeThread function decrements the suspend count of a suspended thread.