PRB: Can't Increase Process Priority
ID: Q110853
|
The information in this article applies to:
-
Microsoft Win32 Application Programming Interface (API), used with:
-
Microsoft Windows NT versions 3.5, 4.0
-
Microsoft Windows 2000
SYMPTOMS
An attempt to increase process priority to the real-time priority
REALTIME_PRIORITY_CLASS may not set the PriorityClass to the expected
level.
CAUSE
Only accounts with the "Increase Scheduling Priority" permission can
increase the priority to real-time. Only Administrators and "Power Users"
have this permission by default.
RESOLUTION
Either run the program from an Administrator or Power User account, or
grant the Increase Scheduling Priority permission to any user group that
must run the program.
STATUS
This behavior is by design.
MORE INFORMATION
The Increase Scheduling Priority permission can be granted by an
administrator to a user or group through the User Manager. To do this follow the steps below for your version of Windows NT:
Windows NT version 3.5 or 3.51:
- Open the "Administrative Tools" group in Program Manager.
- Run the User Manager application.
- Choose User Rights from the Policies menu.
- Select the Show Advanced User Rights check box.
- Select Increase Scheduling Priority from the drop-down list box.
- Choose the Add button to add users or groups to the list of entities that have this right.
Windows NT 4.0
- Open the "Administrative Tools" item under the "Programs" item in the Start Menu.
- Run the User Manager application.
- Choose User Rights from the Policies menu.
- Select the Show Advanced User Rights check box.
- Select Increase Scheduling Priority from the drop-down list box.
- Choose the Add button to add users or groups to the list of entities that have this right.
Windows 2000:
- Open the Administrative Tools menu under the "Programs" item in the Start Menu.
- Choose "Local Security Policy" in the Administrative Tools menu.
- In the left-pane, choose "User Rights Assignment".
- In the pane to the right, double-click "Increase scheduling priority".
- Click Add to add users or groups to the list of entities
that have this right.
Note that the call to SetPriorityClass() may return success even though the
priority was not set to REALTIME_PRIORITY_CLASS, because if you don't have
the Increase Scheduling Priority permission, a request for
REALTIME_PRIORITY_CLASS is interpreted as a request for the highest
priority class allowed in the current account. If it is important to know
the actual priority class that was set, use the GetPriorityClass()
function.
Additional query words:
3.50 SetPriorityClass GetPriorityClass
Keywords : kbKernBase kbWinOS2000 kbThread kbDSupport kbGrpKernBase
Version : winnt:3.5,4.0
Platform : winnt
Issue type : kbprb