Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Приостанавливает указанный поток.
Замечание
64-разрядное приложение может приостановить поток потока WOW64 с помощью функции Wow64SuspendThread.
Синтаксис
DWORD SuspendThread(
[in] HANDLE hThread
);
Параметры
[in] hThread
Дескриптор потока, который должен быть приостановлен.
Дескриптор должен иметь право THREAD_SUSPEND_RESUME доступа. Дополнительные сведения см. в разделе Thread Security and Access Rights.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение является предыдущим счетчиком приостановки потока; в противном случае — это (DWORD) -1
. Чтобы получить расширенные сведения об ошибке, используйте функцию GetLastError.
Замечания
Если функция выполнена успешно, выполнение указанного потока приостановлено, а число приостановки потока увеличивается. Приостановка потока приводит к остановке выполнения кода пользовательского режима (приложения).
Эта функция в основном предназначена для использования отладчиками. Он не предназначен для синхронизации потоков. Вызов SuspendThread в потоке, которому принадлежит объект синхронизации, например мьютекс или критически важный раздел, может привести к взаимоблокировке, если вызывающий поток пытается получить объект синхронизации, принадлежащий приостановленным потоком. Чтобы избежать этой ситуации, поток в приложении, который не является отладчиком, должен сигнализировать другому потоку, чтобы приостановить себя. Целевой поток должен быть разработан для отслеживания этого сигнала и реагирования соответствующим образом.
Каждый поток имеет количество приостановки (с максимальным значением MAXIMUM_SUSPEND_COUNT). Если число приостановки больше нуля, поток приостановлен; в противном случае поток не приостановлен и имеет право на выполнение. Вызов SuspendThread приводит к добавочному количеству приостановки целевого потока. Попытка увеличить максимальное число приостановки приводит к ошибке без увеличения числа.
Функция ResumeThread уменьшает количество приостановки приостановленного потока.
Windows Phone 8.1: Эта функция поддерживается для приложений Магазина Windows Phone в Windows Phone 8.1 и более поздних версиях.
Windows 8.1 и Windows Server 2012 R2: эта функция поддерживается для приложений Магазина Windows в Windows 8.1, Windows Server 2012 R2 и более поздних версий.
Требования
Требование | Ценность |
---|---|
Минимальный поддерживаемый клиент | Windows XP [классические приложения | Приложения UWP] |
минимальный поддерживаемый сервер | Windows Server 2003 [классические приложения | Приложения UWP] |
целевая платформа | Виндоус |
Заголовок | processthreadsapi.h (включая Windows.h в Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2) |
Библиотека | Kernel32.lib; WindowsPhoneCore.lib в Windows Phone 8.1 |
Библиотека dll | Kernel32.dll; KernelBase.dll в Windows Phone 8.1 |