Функции процессов и потоков
В этом разделе описываются функции процессов и потоков.
- Диспетчеризация функции очереди
- Функции процессов
- Функции перечисления процессов
- Функции политики
- Функции потоков
- Функции расширенных атрибутов процессов и потоков
- Функции WOW64
- Функции объектов заданий
- Функции пула потоков
- Функции службы упорядочения потоков
- Функции службы планировщика мультимедийных классов
- Функции волокон
- Функции поддержки NUMA
- Функции процессора
- Функции планирования в пользовательском режиме
- Устаревшие функции
Диспетчеризация функции очереди
Следующая функция создает 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. |
Устаревшие функции
- NtGetCurrentProcessorNumber
- NtQueryInformationProcess
- NtQueryInformationThread
- WinExec
- ZwQueryInformationProcess