Функция SetPriorityClass

Declare Function SetPriorityClass Lib "kernel32" ( _
        ByVal hProcess As Long, _
        ByVal dwPriorityClass As Long) As Long

Функция SetPriorityClass устанавливает класс приоритета для заданного процесса. Это значение вместе со значением приоритета каждого потока процесса определяет базовый уровень приоритета каждого потока.

Возвращаемое значение

В успешном случае возвращается ненулевое значение. В случае ошибки возвращается 0. Для получения кода ошибки используйте GetLastError.

Параметры

hProcess
Дескриптор процесса. Дескриптор должен иметь право доступа PROCESS_SET_INFORMATION
dwPriorityClass
Класс приоритета для процесса. Этот параметр может быть одним из нижеследующих значений:
Const ABOVE_NORMAL_PRIORITY_CLASS = &8000Процесс, который имеет приоритет выше NORMAL_PRIORITY_CLASS, но ниже HIGH_PRIORITY_CLASS
Const BELOW_NORMAL_PRIORITY_CLASS = &4000Процесс, который имеет приоритет выше IDLE_PRIORITY_CLASS, но ниже NORMAL_PRIORITY_CLASS
Const HIGH_PRIORITY_CLASS = &H80 Обозначает процесс, выполняющий критические по времени задачи, которые должны быть выполнены немедленно для того, чтобы запустить их правильно. Потоки процесса высокоприоритетного класса выгружают потоки процессов нормального класса или класса приоритета в бездействующей системе. Пример - Список задач Windows, который должен быстро отреагировать, когда вызывается пользователем, независимо от загрузки на операционной системе. Высокоприоритетный класс используйте крайне осторожно, потому что программа высокоприоритетного класса, ограниченная возможностями процессора, может использовать почти все циклы доступа к нему
Const IDLE_PRIORITY_CLASS = &H40Обозначает процесс, потоки которого запускаются только тогда, когда система неактивна и выгружается потоками любого процесса, запущенного с более высоким классом приоритета. Пример - программа-заставка (хранитель экрана). Класс приоритета в бездействующей системе наследуется дочерними процессами.
Const NORMAL_PRIORITY_CLASS = &H20Обозначает нормальный процесс, который не нуждается в специальных мерах диспетчеризации
Const REALTIME_PRIORITY_CLASS = &H100Обозначает процесс, который имеет самый высокий возможный приоритет. Потоки процесса класса приоритета исполнения в реальном времени выгружают потоки всех других процессов, включая процессы операционной системы, выполняющие важные задачи. Например, процесс реального времени, который работает больше, чем очень краткий промежуток времени, может стать причиной того, что дисковые кэши не станут сбрасывать на диск или причиной того, что мышь будет не реагирующей.

Пример

Смотри пример функции GetPriorityClass

Смотри также

GetPriorityClass, GetThreadPriority, SetThreadPriority

Категория

Процессы, нити и потоки