Функции процессов и потоков
В этом разделе описываются функции процесса и потока.
- функции очереди диспетчеров
- функций процесса
- Функции перечисления процессов
- Функции политики
- функции потоков
- функции расширенных атрибутов потоков и
- функции WOW64
- функции объектов задания
- функций пула потоков
- функции службы упорядочивания потоков
- Функции службы планировщика классов мультимедиа
- функции волокна
- функций поддержки NUMA
- функций процессора
- User-Mode планирования функций
- устаревшие функции
Функция очереди отправки
Следующая функция создает 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 | Извлекает время цикла каждого процессора в указанной группе, затраченное на выполнение отложенных вызовов процедур (DPCs) и подпрограмм служб прерывания (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 | Извлекает сведения о первом процессе, обнаруженном в системном моментальном снимке. |
Process32Next | Извлекает сведения о следующем процессе, записанном в системном моментальном снимке. |
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 | Задает объект wait. Рабочий поток вызывает функцию обратного вызова объекта ожидания после того, как дескриптор становится сигналом или после истечения указанного времени ожидания. |
SetThreadpoolWaitEx | Задает объект wait. Рабочий поток вызывает функцию обратного вызова объекта ожидания после того, как дескриптор становится сигналом или после истечения указанного времени ожидания. |
StartThreadpoolIo | Уведомляет пул потоков о том, что операции ввода-вывода могут начаться для указанного объекта завершения ввода-вывода. Рабочий поток вызывает функцию обратного вызова объекта ввода-вывода после завершения операции в дескрипторе файла, привязанном к этому объекту. |
SubmitThreadpoolWork | Отправляет рабочий объект в пул потоков. Рабочий поток вызывает функцию обратного вызова рабочего объекта. |
TpInitializeCallbackEnviron | Инициализирует среду обратного вызова для пула потоков. |
TpDeskbackEnviron | Удаляет указанную среду обратного вызова. Вызовите эту функцию, когда среда обратного вызова больше не требуется для создания новых объектов пула потоков. |
TpSetCallbackActivationContext | Назначает контекст активации среде обратного вызова. |
TpSetCallbackCleanupGroup | Связывает указанную группу очистки с указанной средой обратного вызова. |
TpSetCallbackFinalizationCallback | Указывает функцию для вызова при завершении работы среды обратного вызова. |
TpSetCallbackLongFunction | Указывает, что обратные вызовы, связанные с этой средой обратного вызова, могут не возвращаться быстро. |
TpSetCallbackNoActivationContext | Указывает, что среда обратного вызова не имеет контекста активации. |
TpSetCallbackPersistent | Указывает, что обратный вызов должен выполняться в постоянном потоке. |
TpSetCallbackPriority | Указывает приоритет функции обратного вызова относительно других рабочих элементов в том же пуле потоков. |
TpSetCallbackRaceWithDll | Гарантирует, что указанная библиотека DLL остается загруженной до тех пор, пока отсутствуют невыполненные обратные вызовы. |
TpSetCallbackThreadpool | Назначает пул потоков среде обратного вызова. |
TrySubmitThreadpoolCallback | Запрашивает, чтобы рабочий поток пула потоков вызывал указанную функцию обратного вызова. |
WaitForThreadpoolIoCallbacks | Ожидает завершения невыполненных обратных вызовов ввода-вывода и при необходимости отменяет ожидающие обратные вызовы, которые еще не начали выполняться. |
WaitForThreadpoolTimerCallbacks | Ожидает завершения невыполненных обратных вызовов таймера и при необходимости отменяет ожидающие обратные вызовы, которые еще не начали выполняться. |
WaitForThreadpoolWaitCallbacks | Ожидает завершения невыполненных обратных вызовов ожидания и при необходимости отменяет ожидающие обратные вызовы, которые еще не начали выполняться. |
WaitForThreadpoolWorkCallbacks | Ожидает завершения незавершенных рабочих обратных вызовов и при необходимости отменяет ожидающие обратные вызовы, которые еще не начали выполняться. |
Следующие функции являются частью исходного api пула потоков.
Функция | Описание |
---|---|
BindIoCompletionCallback | Связывает порт завершения ввода-вывода, принадлежащий пулу потоков, с указанным дескриптором файла. По завершении запроса ввода-вывода, включающего этот файл, рабочий поток, отличный от ввода-вывода, будет выполнять указанную функцию обратного вызова. |
QueueUserWorkItem | Очередь рабочего элемента в рабочий поток в пуле потоков. |
RegisterWaitForSingleObject | Направляет поток ожидания в пуле потоков, чтобы ждать объекта. |
UnregisterWaitEx | Ожидает, пока один или все указанные объекты находятся в сигнальном состоянии или интервале ожидания. |
Функции службы упорядочивания потоков
Следующие функции используются с службой упорядочивания потоков.
Функция | Описание |
---|---|
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