GetThreadPriority
The GetThreadPriority
function returns the priority value for the specified thread. This value,
together with the priority class of the thread s process, determines the
thread s base-priority level.
int GetThreadPriority(
HANDLE hThread |
// handle to thread
|
); |
|
Parameters
hThread
Identifies
the thread.
Windows
NT: The handle must have
THREAD_QUERY_INFORMATION access. For more information, see Thread Objects
Return Values
If the
function succeeds, the return value is the thread s priority level.
If the
function fails, the return value is THREAD_PRIORITY_ERROR_RETURN. To get
extended error information, call GetLastError11C2VS7.
The thread s
priority level is one of the following values:
Priority |
Meaning |
THREAD_PRIORITY_ABOVE_NORMAL |
|
|
Indicates 1
point above normal priority for the priority class. |
THREAD_PRIORITY_BELOW_NORMAL |
|
|
Indicates 1
point below normal priority for the priority class. |
THREAD_PRIORITY_HIGHEST |
|
|
Indicates 2
points above normal priority for the priority class. |
THREAD_PRIORITY_IDLE |
|
|
Indicates a
base-priority level of 1 for IDLE_PRIORITY_CLASS, NORMAL_PRIORITY_CLASS, or
HIGH_PRIORITY_CLASS processes, and a base-priority level of 16 for
REALTIME_PRIORITY_CLASS processes. |
THREAD_PRIORITY_LOWEST |
|
|
Indicates 2
points below normal priority for the priority class. |
THREAD_PRIORITY_NORMAL |
|
|
Indicates
normal priority for the priority class. |
THREAD_PRIORITY_TIME_CRITICAL |
|
|
Indicates a
base-priority level of 15 for IDLE_PRIORITY_CLASS, NORMAL_PRIORITY_CLASS, or
HIGH_PRIORITY_CLASS processes, and a base-priority level of 31 for
REALTIME_PRIORITY_CLASS processes. |
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, refer to the SetPriorityClass function.
See Also