ResumeThread
The ResumeThread
function decrements a thread s suspend count. When the suspend count is
decremented to zero, the execution of the thread is resumed.
DWORD ResumeThread(
HANDLE hThread |
// identifies
thread to restart |
); |
|
Parameters
hThread
Specifies a
handle for the thread to be restarted.
Windows
NT: The handle must have THREAD_SUSPEND_RESUME
access to the thread. For more information, see Thread Objects
Return Values
If the
function succeeds, the return value is the thread s previous suspend count.
If the
function fails, the return value is 0xFFFFFFFF. To get extended error
information, call GetLastError.
Remarks
The ResumeThread
function checks the suspend count of the subject thread. If the suspend count
is 0, the thread is not currently suspended. Otherwise, the subject thread s
suspend count is decremented. If the resulting value is 0, then the execution
of the subject thread is resumed.
If the return
value is 0, the specified thread was not suspended. If the return value is 1,
the specified thread was suspended but was restarted. If the return value is
greater than 1, the specified thread is still suspended.
Note that
while reporting debug events, all threads within the reporting process are
frozen. Debuggers are expected to use the SuspendThread and ResumeThread
functions to limit the set of threads that can execute within a process. By
suspending all threads in a process except for the one reporting a debug event,
it is possible to single step a single thread. The other threads are not
released by a continue operation if they are suspended.
See Also