Win32_Process 类的 SetPriority 方法

SetPriorityWMI 类方法尝试更改进程的执行优先级。

本主题使用托管对象格式 (MOF) 语法。 有关使用此方法的详细信息,请参阅 调用方法

语法

uint32 SetPriority(
  [in] sint32 Priority
);

参数

优先级 [in]

进程的新优先级类。 请注意,这些值与 Win32_ProcessPriority 属性中明确说明的值不同。

空闲 (64)

为仅在系统空闲时运行的线程的进程指定。 进程的线程被在较高优先级类(例如屏幕保护程序)中运行的进程的线程占用。 空闲优先级类由子进程继承。

低于正常 (16384)

指示优先级高于 IDLE_PRIORITY_CLASS但低于 NORMAL_PRIORITY_CLASS的进程。

正常 (32)

为没有特殊计划需求的进程指定。

高于正常 (32768)

指示优先级高于 NORMAL_PRIORITY_CLASS但低于 HIGH_PRIORITY_CLASS的进程。

高优先级 (128)

为执行必须立即执行的时间关键任务的进程指定。 该进程的线程优先于普通或空闲优先级类进程的线程。 例如,无论操作系统上的负载如何,任务列表在用户调用时必须快速响应。 使用高优先级类时要格外小心,因为高优先级类应用程序几乎可以使用所有可用的 CPU 时间。

实时 (256)

为具有最高优先级的进程指定。 进程的线程会抢占所有其他进程的线程,包括执行重要任务的操作系统进程。 例如,执行超过非常短的间隔的实时进程可能会导致磁盘缓存无法刷新或鼠标无响应。

返回值

返回以下列表中列出的值之一,或者返回指示错误的其他值。 有关其他错误代码,请参阅 WMI 错误常量WbemErrorEnum。 有关常规 HRESULT 值,请参阅 系统错误代码

成功完成 (0)

访问被拒绝 (2)

权限 不足 (3)

未知故障 (8)

(9) 找不到路径

参数 (21) 无效

其他 (22 4294967295)

备注

若要将优先级设置为 Realtime,调用方必须具有 SeIncreaseBasePriorityPriorityPrivilege (SE_INC_BASE_PRIORITY_PRIVILEGE) 。 如果没有此权限,可将 优先级设置为的最高优先级是高优先级。

示例

修改正在运行的进程 VBScript 的优先级示例将正在运行的 Notepad.exe 实例的优先级从“正常”更改为“高于正常”。

要求

要求
最低受支持的客户端
Windows Vista
最低受支持的服务器
Windows Server 2008
命名空间
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

另请参阅

操作系统类

Win32_Process