現在の IHostTask インスタンスによって表されるタスクのスレッド優先度レベルをホストが調整することを要求します。
構文
HRESULT SetPriority (
[in] int newPriority
);
パラメーター
newPriority [in]現在の IHostTask インスタンスによって表されるタスクに対して要求されたスレッド優先度の値を表す整数。
戻り値
| HRESULT | 説明 |
|---|---|
| S_OK |
SetPriority が正常に返されました。 |
| HOST_E_CLRNOTAVAILABLE | 共通言語ランタイム (CLR) がプロセスに読み込まれていないか、CLR がマネージド コードを実行できないか、呼び出しを正常に処理できない状態です。 |
| HOST_E_TIMEOUT | 通話がタイムアウトしました。 |
| HOST_E_NOT_OWNER | 呼び出し元はロックを所有していません。 |
| HOST_E_ABANDONED | ブロックされたスレッドまたはファイバーが待機している間にイベントが取り消されました。 |
| E_FAIL | 不明な致命的なエラーが発生しました。 メソッドがE_FAILを返すと、CLR はプロセス内で使用できなくなります。 後続のホスティング メソッドの呼び出しでは、HOST_E_CLRNOTAVAILABLEが返されます。 |
注釈
スレッドには、スレッドの優先度レベルに一部基づくラウンド ロビン システムを使用して処理時間が付与されます。
SetPriority を使用すると、CLR は現在のタスクのスレッド優先度レベルを設定できます。 次の newPriority 値がサポートされています。
THREAD_PRIORITY_ABOVE_NORMAL
THREAD_PRIORITY_BELOW_NORMAL
THREAD_PRIORITY_HIGHEST
THREAD_PRIORITY_IDLE
THREAD_PRIORITY_LOWEST
THREAD_PRIORITY_NORMAL
THREAD_PRIORITY_TIME_CRITICAL
CLR は、Thread.Priorityの値がユーザー コードによって変更されたときにSetPriorityを呼び出します。 ホストは、スレッドの優先順位の割り当てに対して独自のアルゴリズムを定義でき、この要求を無視してもかまいません。
注
SetPriority は、スレッドの優先度レベルが変更されたかどうかを報告しません。
IHostTask::GetPriority を呼び出して、タスクのスレッド優先度レベルの値を決定します。
スレッド優先度レベルの値は、Win32 SetThreadPriority 関数によって定義されます。 スレッドの優先順位の詳細については、Windows プラットフォームのドキュメントを参照してください。
必要条件
:「システム要件」を参照してください。
ヘッダ: MSCorEE.h
図書館: MSCorEE.dll にリソースとして含まれる
.NET Framework のバージョン: 2.0 以降で利用可能
こちらも参照ください
.NET