Функция UmsThreadYield (winbase.h)
Возвращает управление потоку планировщика пользовательского режима (UMS), в котором выполняется вызывающий рабочий поток UMS.
Предупреждение
С Windows 11 года планирование в пользовательском режиме не поддерживается. Все вызовы завершаются ошибкой ERROR_NOT_SUPPORTED
.
Синтаксис
BOOL UmsThreadYield(
[in] PVOID SchedulerParam
);
Параметры
[in] SchedulerParam
Параметр для передачи функции UmsSchedulerProc потока планировщика .
Возвращаемое значение
Если функция выполняется успешно, она возвращает ненулевое значение.
Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
Рабочий поток UMS вызывает функцию UmsThreadYield , чтобы совместно предоставить управление потоку планировщика UMS, в котором выполняется рабочий поток. Если рабочий поток UMS никогда не вызывает UmsThreadYield, рабочий поток выполняется до тех пор, пока не заблокирует или не завершит работу.
Когда элемент управления переключается на поток планировщика UMS, система вызывает связанную функцию точки входа планировщика с причиной UmsSchedulerThreadYield и параметром ScheduleParam , заданным рабочим потоком в вызове UmsThreadYield .
Планировщик приложения отвечает за перепланирование рабочего потока.
Требования
Минимальная версия клиента | Windows 7 (только 64-разрядная версия) [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Целевая платформа | Windows |
Header | winbase.h (включая Windows.h) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |
Набор API | api-ms-win-core-ums-l1-1-0 (появилось в Windows 7) |