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.
Declare Function GetPriorityClass Lib "kernel32" Alias "GetPriorityClass" (ByVal hProcess As Long) As Long
|Operating Systems Supported|
|Requires Windows NT 3.1 or later; Requires Windows 95 or later|
Identifies the process.
Windows NT: The handle must have PROCESS_QUERY_INFORMATION access. For more information, see Process Objects.
|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:
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.
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.
Indicates a normal process with no special scheduling needs.
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.