Поделиться через


Функции процессов и потоков

В этом разделе описываются функции процессов и потоков.

Диспетчеризация функции очереди

Следующая функция создает DispatcherQueueController.

Функция Описание
CreateDispatcherQueueController Создает DispatcherQueueController , который управляет временем существования DispatcherQueue, выполняющего задачи в очереди в порядке приоритета в другом потоке.

 

Функции процессов

Следующие функции используются с процессами.

Функция Описание
CreateProcess Создает новый процесс и его основной поток.
CreateProcessAsUser Создает новый процесс и его основной поток. Новый процесс выполняется в контексте безопасности пользователя, представленного указанным маркером.
CreateProcessWithLogonW Создает новый процесс и его основной поток. Затем новый процесс запускает указанный исполняемый файл в контексте безопасности указанных учетных данных (пользователя, домена и пароля).
CreateProcessWithTokenW Создает новый процесс и его основной поток. Новый процесс выполняется в контексте безопасности указанного маркера.
ExitProcess Завершает вызывающий процесс и все его потоки.
FlushProcessWriteBuffers Очищает очередь записи каждого процессора, выполняющего поток текущего процесса.
FreeEnvironmentStrings Освобождает блок строк среды.
GetCommandLine Извлекает строку командной строки для текущего процесса.
GetCurrentProcess Извлекает псевдо дескриптор для текущего процесса.
GetCurrentProcessId Извлекает идентификатор вызывающего процесса.
GetCurrentProcessorNumber Извлекает номер процессора, на котором выполнялся текущий поток во время вызова этой функции.
GetEnvironmentStrings Извлекает блок среды для текущего процесса.
GetEnvironmentVariable Извлекает значение указанной переменной из блока среды вызывающего процесса.
GetExitCodeProcess Извлекает состояние завершения указанного процесса.
GetGuiResources Извлекает количество дескрипторов объектов графического пользовательского интерфейса (GUI), используемых указанным процессом.
GetLogicalProcessorInformation Извлекает сведения о логических процессорах и связанном оборудовании.
GetPriorityClass Извлекает класс приоритета для указанного процесса.
GetProcessAffinityMask Извлекает маску сходства процессов для указанного процесса и маску сходства системы для системы.
GetProcessGroupAffinity Извлекает сходство группы процессоров для указанного процесса.
GetProcessHandleCount Извлекает количество открытых дескрипторов, принадлежащих указанному процессу.
GetProcessId Извлекает идентификатор указанного процесса.
GetProcessIoCounters Извлекает учетные данные для всех операций ввода-вывода, выполняемых указанным процессом.
GetProcessMitigationPolicy Извлекает параметры политики устранения рисков для вызывающего процесса.
GetProcessPriorityBoost Извлекает состояние управления повышением приоритета указанного процесса.
GetProcessShutdownParameters Извлекает параметры завершения работы для вызывающего в данный момент процесса.
GetProcessTimes Извлекает сведения о времени для указанного процесса.
GetProcessVersion Извлекает основной и дополнительный номера версий системы, в которой ожидается выполнение указанного процесса.
GetProcessWorkingSetSize Извлекает минимальные и максимальные размеры рабочего набора указанного процесса.
GetProcessWorkingSetSizeEx Извлекает минимальные и максимальные размеры рабочего набора указанного процесса.
GetProcessorSystemCycleTime Извлекает время цикла, затраченное каждым процессором в указанной группе на выполнение отложенных вызовов процедур (DPC) и подпрограмм обслуживания прерываний (ISR).
GetStartupInfo Извлекает содержимое структуры STARTUPINFO , указанной при создании вызывающего процесса.
IsImmersiveProcess Определяет, принадлежит ли процесс приложению Магазина Windows.
NeedCurrentDirectoryForExePath Определяет, следует ли включать текущий каталог в путь поиска для указанного исполняемого файла.
OpenProcess Открывает существующий локальный объект процесса.
QueryFullProcessImageName Извлекает полное имя исполняемого образа для указанного процесса.
QueryProcessAffinityUpdateMode Извлекает режим обновления сходства указанного процесса.
QueryProcessCycleTime Извлекает сумму времени цикла всех потоков указанного процесса.
SetEnvironmentVariable Задает значение переменной среды для текущего процесса.
SetPriorityClass Задает класс приоритета для указанного процесса.
SetProcessAffinityMask Задает маску сходства процессора для потоков указанного процесса.
SetProcessAffinityUpdateMode Задает режим обновления сходства указанного процесса.
SetProcessInformation Задает сведения для указанного процесса.
SetProcessMitigationPolicy Задает политику устранения рисков для вызывающего процесса.
SetProcessPriorityBoost Отключает возможность системы временно повысить приоритет потоков указанного процесса.
SetProcessRestrictionExemption Исключает вызывающий процесс из ограничений, препятствующих классическим процессам взаимодействовать со средой приложений Магазина Windows. Эта функция используется средствами разработки и отладки.
SetProcessShutdownParameters Задает параметры завершения работы для вызывающего в данный момент процесса.
SetProcessWorkingSetSize Задает минимальный и максимальный размер рабочего набора для указанного процесса.
SetProcessWorkingSetSizeEx Задает минимальный и максимальный размер рабочего набора для указанного процесса.
TerminateProcess Завершает указанный процесс и все его потоки.

 

Функции перечисления процессов

Для перечисления процессов используются следующие функции.

Функция Описание
EnumProcesses Извлекает идентификатор процесса для каждого объекта процесса в системе.
Process32First Извлекает сведения о первом процессе, обнаруженном в системном snapshot.
Процесс32Далее Извлекает сведения о следующем процессе, записанные в системном snapshot.
WTSEnumerateProcesses Извлекает сведения об активных процессах на указанном сервере терминалов.

 

Функции политики

Следующие функции используются с политикой на уровне процесса.

Функция Описание
QueryProtectedPolicy Запрашивает значение, связанное с защищенной политикой.
SetProtectedPolicy Задает защищенную политику.

 

Функции потоков

С потоками используются следующие функции.

Функция Описание
AttachThreadInput Присоединяет механизм обработки входных данных одного потока к механизму обработки другого потока.
CreateRemoteThread Создает поток, который выполняется в виртуальном адресном пространстве другого процесса.
CreateRemoteThreadEx Создает поток, который выполняется в виртуальном адресном пространстве другого процесса и при необходимости задает расширенные атрибуты, такие как сходство групп процессоров.
CreateThread Создает поток для выполнения в виртуальном адресном пространстве вызывающего процесса.
ExitThread Завершает вызывающий поток.
GetCurrentThread Извлекает псевдо дескриптор для текущего потока.
GetCurrentThreadId Извлекает идентификатор вызывающего потока.
GetExitCodeThread Извлекает состояние завершения указанного потока.
GetProcessIdOfThread Извлекает идентификатор процесса, связанного с указанным потоком.
GetThreadDescription Извлекает описание, назначенное потоку путем вызова SetThreadDescription.
GetThreadGroupAffinity Извлекает сходство группы процессоров указанного потока.
GetThreadId Извлекает идентификатор потока указанного потока.
GetThreadIdealProcessorEx Извлекает номер процессора идеального процессора для указанного потока.
GetThreadInformation Извлекает сведения об указанном потоке.
GetThreadIOPendingFlag Определяет, есть ли в указанном потоке ожидающие запросы ввода-вывода.
GetThreadPriority Извлекает значение приоритета для указанного потока.
GetThreadPriorityBoost Извлекает состояние элемента управления повышение приоритета указанного потока.
GetThreadTimes Извлекает сведения о времени для указанного потока.
OpenThread Открывает существующий объект потока.
QueryIdleProcessorCycleTime Извлекает время цикла для потока простоя каждого процессора в системе.
QueryThreadCycleTime Извлекает время цикла для указанного потока.
ResumeThread Уменьшает количество приостановок потока.
SetThreadAffinityMask Задает маску сходства процессора для указанного потока.
SetThreadDescription Назначает описание потоку.
SetThreadGroupAffinity Задает сходство группы процессоров для указанного потока.
SetThreadIdealProcessor Задает предпочтительный процессор для потока.
SetThreadIdealProcessorEx Задает идеальный процессор для указанного потока и при необходимости получает предыдущий идеальный процессор.
SetThreadInformation Задает сведения для указанного потока.
SetThreadPriority Задает значение приоритета для указанного потока.
SetThreadPriorityBoost Отключает возможность системы временно повысить приоритет потока.
SetThreadStackGuarantee Задает гарантию стека для вызывающего потока.
Сон Приостанавливает выполнение текущего потока на указанный интервал.
SleepEx Приостанавливает текущий поток до тех пор, пока не будет выполнено указанное условие.
SuspendThread Приостанавливает указанный поток.
SwitchToThread Позволяет вызвавшему потоку передать выполнение другому потоку, готовому к использованию на текущем процессоре.
TerminateThread Завершает поток.
ThreadProc Определяемая приложением функция, которая служит начальным адресом для потока.
TlsAlloc Выделяет индекс локального хранилища потока (TLS).
TlsFree Освобождает индекс TLS.
TlsGetValue Извлекает значение в слоте TLS вызывающего потока для указанного индекса TLS.
TlsSetValue Сохраняет значение в слоте TLS вызывающего потока для указанного индекса TLS.
WaitForInputIdle Ожидает, пока указанный процесс не ожидает ввода данных пользователем, не ожидая ввода данных, или до истечения интервала времени ожидания.

 

Расширенные функции атрибутов процессов и потоков

Следующие функции используются для задания расширенных атрибутов для создания процессов и потоков.

Функция Описание
DeleteProcThreadAttributeList Удаляет указанный список атрибутов для создания процесса и потока.
InitializeProcThreadAttributeList Инициализирует указанный список атрибутов для создания процесса и потока.
UpdateProcThreadAttribute Обновления указанный атрибут в указанном списке атрибутов для создания процесса и потока.

 

Функции WOW64

Следующие функции используются с WOW64.

Функция Описание
IsWow64Message Определяет, получено ли последнее сообщение из очереди текущего потока из процесса WOW64.
Iswow64Process Определяет, выполняется ли указанный процесс в WOW64.
IsWow64Process2 Определяет, выполняется ли указанный процесс в WOW64; также возвращает дополнительные сведения о процессе и архитектуре компьютера.
Wow64SuspendThread Приостанавливает указанный поток WOW64.

 

Функции объектов задания

Следующие функции используются с объектами заданий.

Функция Описание
AssignProcessToJobObject Связывает процесс с существующим объектом задания.
CreateJobObject Создает или открывает объект задания.
IsProcessInJob Определяет, выполняется ли процесс в указанном задании.
OpenJobObject Открывает существующий объект задания.
QueryInformationJobObject Извлекает сведения об ограничении и состоянии задания из объекта задания.
SetInformationJobObject Установка ограничений для объекта задания.
TerminateJobObject Завершает все процессы, связанные с заданием.
UserHandleGrantAccess Предоставляет или запрещает доступ к дескриптором объекту User задания с ограничением пользовательского интерфейса.

 

Функции пула потоков

Следующие функции используются с пулами потоков.

Функция Описание
CallbackMayRunLong Указывает, что обратный вызов может вернуться не быстро.
CancelThreadpoolIo Отменяет уведомление от функции StartThreadpoolIo .
CloseThreadpool Закрывает указанный пул потоков.
CloseThreadpoolCleanupGroup Закрывает указанную группу очистки.
CloseThreadpoolCleanupGroupMembers Освобождает члены указанной группы очистки, ожидает завершения всех функций обратного вызова и при необходимости отменяет все невыполненные функции обратного вызова.
CloseThreadpoolIo Освобождает указанный объект завершения ввода-вывода.
CloseThreadpoolTimer Освобождает указанный объект таймера.
CloseThreadpoolWait Освобождает указанный объект ожидания.
CloseThreadpoolWork Освобождает указанный рабочий объект.
CreateThreadpool Выделяет новый пул потоков для выполнения обратных вызовов.
CreateThreadpoolCleanupGroup Создает группу очистки, которую приложения могут использовать для отслеживания одного или нескольких обратных вызовов пула потоков.
CreateThreadpoolIo Создает новый объект завершения ввода-вывода.
CreateThreadpoolTimer Создает новый объект таймера.
CreateThreadpoolWait Создает новый объект ожидания.
CreateThreadpoolWork Создает новый рабочий объект.
DestroyThreadpoolEnvironment Удаляет указанную среду обратного вызова. Вызывайте эту функцию, если среда обратного вызова больше не требуется для создания новых объектов пула потоков.
DisassociateCurrentThreadFromCallback Удаляет связь между выполняющейся в данный момент функцией обратного вызова и объектом, который инициировал обратный вызов. Текущий поток больше не будет считаться выполнением обратного вызова от имени объекта .
FreeLibraryWhenCallbackReturns Указывает библиотеку DLL, которую пул потоков выгрузит после завершения текущего обратного вызова.
InitializeThreadpoolEnvironment Инициализирует среду обратного вызова.
IsThreadpoolTimerSet Определяет, задан ли заданный объект таймера в данный момент.
LeaveCriticalSectionWhenCallbackReturns Указывает критический раздел, который пул потоков будет освобождать после завершения текущего обратного вызова.
QueryThreadpoolStackInformation Извлекает размеры резервирования стека и фиксации для потоков в указанном пуле потоков.
ReleaseMutexWhenCallbackReturns Указывает мьютекс, который пул потоков будет выпускать после завершения текущего обратного вызова.
ReleaseSemaphoreWhenCallbackReturns Указывает семафор, который пул потоков будет выпускать после завершения текущего обратного вызова.
SetEventWhenCallbackReturns Указывает событие, которое пул потоков задаст после завершения текущего обратного вызова.
SetThreadpoolCallbackCleanupGroup Связывает указанную группу очистки с указанной средой обратного вызова.
SetThreadpoolCallbackLibrary Гарантирует, что указанная библиотека DLL остается загруженной до тех пор, пока имеются невыполненные обратные вызовы.
SetThreadpoolCallbackPersistent Указывает, что обратный вызов должен выполняться в постоянном потоке.
SetThreadpoolCallbackPool Задает пул потоков, используемый при создании обратных вызовов.
SetThreadpoolCallbackPriority Указывает приоритет функции обратного вызова относительно других рабочих элементов в том же пуле потоков.
SetThreadpoolCallbackRunsLong Указывает, что обратные вызовы, связанные с этой средой обратного вызова, могут не возвращаться быстро.
SetThreadpoolStackInformation Задает размеры резервирования стека и фиксации для новых потоков в указанном пуле потоков.
SetThreadpoolThreadMaximum Задает максимальное количество потоков, которое указанный пул потоков может выделить для обработки обратных вызовов.
SetThreadpoolThreadMinimum Задает минимальное количество потоков, которое указанный пул потоков должен сделать доступным для обработки обратных вызовов.
SetThreadpoolTimerEx Задает объект таймера. Рабочий поток вызывает обратный вызов объекта таймера по истечении указанного времени ожидания.
SetThreadpoolTimer Задает объект таймера. Рабочий поток вызывает обратный вызов объекта таймера по истечении указанного времени ожидания.
SetThreadpoolWait Задает объект ожидания. Рабочий поток вызывает функцию обратного вызова объекта ожидания после того, как дескриптор получает сигнал или по истечении указанного времени ожидания.
SetThreadpoolWaitEx Задает объект ожидания. Рабочий поток вызывает функцию обратного вызова объекта ожидания после того, как дескриптор получает сигнал или по истечении указанного времени ожидания.
StartThreadpoolIo Уведомляет пул потоков о возможном начале операций ввода-вывода для указанного объекта завершения ввода-вывода. Рабочий поток вызывает функцию обратного вызова объекта завершения ввода-вывода после завершения операции в дескрипторе файла, привязанном к этому объекту.
SubmitThreadpoolWork Отправляет рабочий объект в пул потоков. Рабочий поток вызывает функцию обратного вызова рабочего объекта.
TpInitializeCallbackEnviron Инициализирует среду обратного вызова для пула потоков.
TpDestroyCallbackEnviron Удаляет указанную среду обратного вызова. Вызывайте эту функцию, если среда обратного вызова больше не требуется для создания новых объектов пула потоков.
TpSetCallbackActivationContext Назначает контекст активации среде обратного вызова.
TpSetCallbackCleanupGroup Связывает указанную группу очистки с указанной средой обратного вызова.
TpSetCallbackFinalizationCallback Указывает функцию, вызываемую при завершении работы среды обратного вызова.
TpSetCallbackLongFunction Указывает, что обратные вызовы, связанные с этой средой обратного вызова, могут не возвращаться быстро.
TpSetCallbackNoActivationContext Указывает, что среда обратного вызова не имеет контекста активации.
TpSetCallbackPersistent Указывает, что обратный вызов должен выполняться в постоянном потоке.
TpSetCallbackPriority Указывает приоритет функции обратного вызова относительно других рабочих элементов в том же пуле потоков.
TpSetCallbackRaceWithDll Гарантирует, что указанная библиотека DLL остается загруженной до тех пор, пока имеются невыполненные обратные вызовы.
TpSetCallbackThreadpool Назначает пул потоков среде обратного вызова.
TrySubmitThreadpoolCallback Запрашивает, чтобы рабочий поток пула потоков вызывал указанную функцию обратного вызова.
WaitForThreadpoolIoCallbacks Ожидает завершения невыполненных обратных вызовов завершения ввода-вывода и при необходимости отменяет ожидающие обратные вызовы, которые еще не начали выполняться.
WaitForThreadpoolTimerCallbacks Ожидает завершения невыполненных обратных вызовов таймера и при необходимости отменяет ожидающие обратные вызовы, которые еще не начали выполняться.
WaitForThreadpoolWaitCallbacks Ожидает завершения ожидающих обратных вызовов и при необходимости отменяет ожидающие обратные вызовы, которые еще не начали выполняться.
WaitForThreadpoolWorkCallbacks Ожидает завершения невыполненных рабочих обратных вызовов и при необходимости отменяет ожидающие обратные вызовы, которые еще не начали выполняться.

 

Следующие функции являются частью исходного API пула потоков .

Функция Описание
BindIoCompletionCallback Связывает порт завершения ввода-вывода, принадлежащий пулу потоков, с указанным дескриптором файла. По завершении запроса ввода-вывода, включающего этот файл, рабочий поток, не связанный с вводом-выводом, выполнит указанную функцию обратного вызова.
QueueUserWorkItem Помещает рабочий элемент в очередь рабочего потока в пуле потоков.
RegisterWaitForSingleObject Направляет поток ожидания в пуле потоков на ожидание объекта .
Отмена регистрацииWaitEx Ожидает, пока один или все указанные объекты не будут в состоянии сигнала или не истедет интервал времени ожидания.

 

Функции службы упорядочения потоков

Следующие функции используются со службой упорядочения потоков.

Функция Описание
AvQuerySystemResponsiveness Извлекает параметр скорости отклика системы, используемый службой планировщика мультимедийных классов.
AvRtCreateThreadOrderingGroup Создает группу упорядочения потоков.
AvRtCreateThreadOrderingGroupEx Создает группу упорядочения потоков и связывает поток сервера с задачей.
AvRtDeleteThreadOrderingGroup Удаляет указанную группу упорядочения потоков, созданную вызывающим объектом.
AvRtJoinThreadOrderingGroup Присоединяет клиентские потоки к группе упорядочения потоков.
AvRtLeaveThreadOrderingGroup Позволяет клиентским потокам покинуть группу упорядочения потоков.
AvRtWaitOnThreadOrderingGroup Позволяет клиентским потокам группы упорядочения потоков ожидать выполнения.

 

Функции службы планировщика мультимедийных классов

Следующие функции используются со службой планировщика класса мультимедиа.

Функция Описание
AvRevertMmThreadCharacteristics Указывает, что поток больше не выполняет работу, связанную с указанной задачей.
AvSetMmMaxThreadCharacteristics Связывает вызывающий поток с указанными задачами.
AvSetMmThreadCharacteristics Связывает вызывающий поток с указанной задачей.
AvSetMmThreadPriority Корректирует приоритет потока вызывающего потока относительно других потоков, выполняющих ту же задачу.

 

Функции волокон

Следующие функции используются с волокнами.

Функция Описание
ConvertFiberToThread Преобразует текущее волокно в поток.
ConvertThreadToFiber Преобразует текущий поток в волокно.
ConvertThreadToFiberEx Преобразует текущий поток в волокно.
CreateFiber Выделяет объект fibre, назначает ему стек и настраивает выполнение для начала с указанного начального адреса.
CreateFiberEx Выделяет объект fibre, назначает ему стек и настраивает выполнение для начала с указанного начального адреса.
DeleteFiber Удаляет существующее волокно.
FibreProc Определяемая приложением функция, используемая с функцией CreateFiber .
FlsAlloc Выделяет индекс локального оптоволоконного хранилища (FLS).
FlsFree Освобождает индекс FLS.
FlsGetValue Извлекает значение в слоте FLS вызывающего волокна для указанного индекса FLS.
FlsSetValue Сохраняет значение в слоте FLS вызывающего волокна для указанного индекса FLS.
IsThreadAFiber Определяет, является ли текущий поток волоконным.
SwitchToFiber Планирует волокно.

 

Функции поддержки NUMA

Следующие функции обеспечивают поддержку NUMA.

Функция Описание
AllocateUserPhysicalPagesNuma Резервирует или фиксирует область памяти в виртуальном адресном пространстве указанного процесса и задает узел NUMA для физической памяти.
GetLogicalProcessorInformation Извлекает сведения о логических процессорах и связанном оборудовании.
GetNumaAvailableMemoryNode Извлекает объем памяти, доступный в указанном узле.
GetNumaAvailableMemoryNodeEx Извлекает объем памяти, доступный в указанном узле, в виде значения USHORT.
GetNumaHighestNodeNumber Извлекает узел, который в настоящее время имеет наибольшее число.
GetNumaNodeNumberFromHandle Извлекает узел NUMA, связанный с базовым устройством, для дескриптора файла.
GetNumaNodeProcessorMask Извлекает маску процессора для указанного узла.
GetNumaNodeProcessorMaskEx Извлекает маску процессора для указанного узла NUMA в качестве значения USHORT.
GetNumaProcessorNode Извлекает номер узла для указанного процессора.
GetNumaProcessorNodeEx Извлекает номер узла указанного логического процессора в виде значения USHORT.
GetNumaProximityNode Извлекает номер узла для указанного идентификатора близкого взаимодействия.
GetNumaProximityNodeEx Извлекает номер узла в виде значения USHORT для указанного идентификатора близкого взаимодействия.
VirtualAllocExNuma Резервирует или фиксирует область памяти в виртуальном адресном пространстве указанного процесса и задает узел NUMA для физической памяти.

 

Функции процессора

Следующие функции используются с логическими процессорами и группами процессоров.

Функция Описание
GetActiveProcessorCount Возвращает количество активных процессоров в группе процессоров или в системе.
GetActiveProcessorGroupCount Возвращает количество активных групп процессоров в системе.
GetCurrentProcessorNumber Извлекает номер процессора, на котором выполнялся текущий поток во время вызова этой функции.
GetCurrentProcessorNumberEx Извлекает группу процессоров и номер логического процессора, в котором выполняется вызывающий поток.
GetLogicalProcessorInformation Извлекает сведения о логических процессорах и связанном оборудовании.
GetLogicalProcessorInformationEx Извлекает сведения о связях логических процессоров и связанного оборудования.
GetMaximumProcessorCount Возвращает максимальное число логических процессоров, которое может иметь группа процессоров или система.
GetMaximumProcessorGroupCount Возвращает максимальное количество групп процессоров, которое может иметь система.
QueryIdleProcessorCycleTime Извлекает время цикла для потока простоя каждого процессора в системе.
QueryIdleProcessorCycleTimeEx Извлекает накопленный цикл времени для потока простоя на каждом логическом процессоре в указанной группе процессоров.

 

Функции планирования User-Mode

Следующие функции используются с планированием в пользовательском режиме (UMS).

Функция Описание
CreateUmsCompletionList Создает список завершения UMS.
CreateUmsThreadContext Создает контекст потока UMS для представления рабочего потока UMS.
DeleteUmsCompletionList Удаляет указанный список завершения UMS. Список должен быть пустым.
DeleteUmsThreadContext Удаляет указанный контекст потока UMS. Поток должен быть завершен.
DequeueUmsCompletionListItems Извлекает рабочие потоки UMS из указанного списка завершения UMS.
EnterUmsSchedulingMode Преобразует вызывающий поток в поток планировщика UMS.
ExecuteUmsThread Запускает указанный рабочий поток UMS.
GetCurrentUmsThread Возвращает контекст потока UMS вызывающего потока UMS.
GetNextUmsListItem Возвращает следующий контекст потока UMS в списке контекстов потоков UMS.
GetUmsCompletionListEvent Извлекает дескриптор события, связанного с указанным списком завершения UMS.
GetUmsSystemThreadInformation Запрашивает, является ли указанный поток потоком планировщика UMS, рабочим потоком UMS или потоком без UMS.
QueryUmsThreadInformation Извлекает сведения о указанном рабочем потоке UMS.
SetUmsThreadInformation Задает сведения о контексте приложения для указанного рабочего потока UMS.
UmsSchedulerProc Определяемая приложением функция точки входа планировщика UMS, связанная со списком завершения UMS.
UmsThreadYield Возвращает управление потоку планировщика UMS, в котором выполняется вызывающий рабочий поток UMS.

 

Устаревшие функции