Platform SDK: DLLs, Processes, and Threads |
The SuspendThread function suspends the specified thread.
DWORD SuspendThread( HANDLE hThread // handle to thread );
Windows NT/2000: The handle must have THREAD_SUSPEND_RESUME access. For more information, see Thread Security and Access Rights.
If the function succeeds, the return value is the thread's previous suspend count; otherwise, it is -1. 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.
Windows NT/2000: Requires Windows NT 3.1 or later.
Windows 95/98: Requires Windows 95 or later.
Header: Declared in Winbase.h; include Windows.h.
Library: Use Kernel32.lib.
Processes and Threads Overview, Process and Thread Functions, OpenThread, ResumeThread