IHostTask::SetPriority Method
Requests that the host adjust the thread priority level for the task represented by the current IHostTask instance.
HRESULT SetPriority (
[in] int newPriority
);
Parameters
- newPriority
[in] An integer that represents the requested thread priority value for the task represented by the current IHostTask instance.
Return Value
HRESULT |
Description |
---|---|
S_OK |
SetPriority returned successfully. |
HOST_E_CLRNOTAVAILABLE |
The common language runtime (CLR) has not been loaded into a process, or the CLR is in a state in which it cannot run managed code or process the call successfully. |
HOST_E_TIMEOUT |
The call timed out. |
HOST_E_NOT_OWNER |
The caller does not own the lock. |
HOST_E_ABANDONED |
An event was canceled while a blocked thread or fiber was waiting on it. |
E_FAIL |
An unknown catastrophic failure occurred. When a method returns E_FAIL, the CLR is no longer usable within the process. Subsequent calls to hosting methods return HOST_E_CLRNOTAVAILABLE. |
Remarks
Threads are granted processing time using a round-robin system that is partly based on a thread's priority level. SetPriority allows the CLR to set that thread priority level for the current task. The following newPriority values are supported.
THREAD_PRIORITY_ABOVE_NORMAL
THREAD_PRIORITY_BELOW_NORMAL
THREAD_PRIORITY_HIGHEST
THREAD_PRIORITY_IDLE
THREAD_PRIORITY_LOWEST
THREAD_PRIORITY_NORMAL
THREAD_PRIORITY_TIME_CRITICAL
The CLR calls SetPriority when the value of the Thread.Priority is modified by user code. A host can define its own algorithms for thread priority assignment, and is free to ignore this request.
Note
SetPriority does not report whether the thread priority level was changed. Call IHostTask::GetPriority to determine the value of the task's thread priority level.
Thread priority level values are defined by the Win32 SetThreadPriority function. For more information about thread priority, see the Windows Platform documentation.
Requirements
Platforms: See .NET Framework System Requirements.
Header: MSCorEE.idl
Library: Included as a resource in MSCorEE.dll
.NET Framework Versions: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0