|
Overview |
|
|
|
Group |
|
|
|
Quick Info
Windows NT
| Yes
| Win95
| Yes
| Win32s
| No
| Import Library
| kernel32.lib
| Header File
| winbase.h
| Unicode
| No
| Platform Notes
| None
|
|
|
GetPriorityClass
The
GetPriorityClass function returns the priority class for the specified process. This value,
together with the priority value of each thread of the process, determines each
thread's base priority level.
DWORD GetPriorityClass(
HANDLE hProcess
| // handle to the process
|
);
|
|
Parameters
hProcess
Identifies the process.
Windows NT: The handle must have PROCESS_QUERY_INFORMATION access. For more information,
see
Process Objects.
Return Values
If the function succeeds, the return value is the priority class of the
specified process.
If the function fails, the return value is zero. To get extended error
information, call
GetLastError.
The process's priority class is one of the following values:
Priority
| Meaning
|
HIGH_PRIORITY_CLASS
| Indicates a process that performs time-critical tasks that must be executed
immediately for it to run correctly. The threads of a high-priority class process
preempt the threads of normal or idle priority class processes. An example is
Windows Task List, which must respond quickly when called by the user,
regardless of the load on the operating system. Use extreme care when using the
high-priority class, because a high-priority class CPU-bound application can use
nearly all available cycles.
|
IDLE_PRIORITY_CLASS
| Indicates a process whose threads run only when the system is idle and are
preempted by the threads of any process running in a higher priority class. An
example is a screen saver. The idle priority class is inherited by child processes.
|
NORMAL_PRIORITY_CLASS
| Indicates a normal process with no special scheduling needs.
|
REALTIME_PRIORITY_CLASS
| Indicates a process that has the highest possible priority. The threads of a
real-time priority class process preempt the threads of all other processes,
including operating system processes performing important tasks. For example, a
real-time process that executes for more than a very brief interval can cause
disk caches not to flush or cause the mouse to be unresponsive.
|
Remarks
Every thread has a base priority level determined by the thread's priority
value and the priority class of its process. The operating system uses the base
priority level of all executable threads to determine which thread gets the next
slice of CPU time. Threads are scheduled in a round-robin fashion at each
priority level, and only when there are no executable threads at a higher level will
scheduling of threads at a lower level take place.
For a table that shows the base priority levels for each combination of
priority class and thread priority value, see the
SetPriorityClass function.
See Also
GetThreadPriority,
SetPriorityClass,
SetThreadPriority
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database