<Return[S]><Top>

SetPriorityClass

Declare Function Api_SetPriorityClass& Lib "kernel32" Alias "SetPriorityClass" (ByVal hProcess&, ByVal dwPriorityClass&)

Declare Function SetPriorityClass Lib "kernel32" Alias "SetPriorityClass" (ByVal hProcess As Long, ByVal dwPriorityClass As Long) As Long

指定されたプロセスの優先順位クラスを設定する。プロセスの優先順位クラスと、スレッドの相対優先順位値によって、各スレッドの基本優先順位レベルが決まる。

パラメータ
hProcess
    プロセスのハンドルを指定する。
    Windows NT/2000:このハンドルに、PROCESS_SET_INFORMATION アクセス権を割り当てておかなければならない。
dwPriorityClass
    プロセスの優先順位クラスを指定する。次の値のいずれかを指定する。

    優先順位クラス                                        

意味                                                                                                             

    ABOVE_NORMAL_PRIORITY_CLASS

 

Windows 2000:このプロセスに、NORMAL_PRIORITY_CLASS より高く、

HIGH_PRIORITY_CLASS より低い優先順位を割り当てる。

    BELOW_NORMAL_PRIORITY_CLASS

Windows 2000:このプロセスに、IDLE_PRIORITY_CLASS より高く、

NORMAL_PRIORITY_CLASS より低い優先順位を割り当てる。

    HIGH_PRIORITY_CLASS

 

 

 

 

 

 

このプロセスが、タイムクリティカルなタスクを実行することを示す。このクラスを割り当てられた

プロセスのスレッドは、NORMAL_PRIORITY_CLASS や IDLE_PRIORITY_CLASS を割

り当てられたプロセスのスレッドより先に実行される。1 つの例はタスクリストであり、ユーザー

がタスクリストを呼び出した場合、オペレーティングシステムの負荷にかかわりなく、迅速に応

答しなければならない。HIGH_PRIORITY_CLASS を割り当てる場合、十二分の注意が

必要である。アプリケーションにこのクラスを割り当てると、利用可能なほぼすべての CPU

サイクルを占有する可能性があるからである。

    IDLE_PRIORITY_CLASS

 

 

システムがアイドル状態のときにのみ、このプロセスを実行することを示す。このプロセスよ

り、優先順位クラスの高い他のプロセスが先に実行される。1 つの例はスクリーンセーバーで

ある。子プロセスは、この優先順位クラスを継承する。

    NORMAL_PRIORITY_CLASS

特別なスケジューリングを必要としない、一般的なプロセスであることを示す。

    REALTIME_PRIORITY_CLASS

 

 

 

このプロセスが、最も高い優先順位クラスを持つプロセスであることを示す。このクラスを割り

当てられたプロセスに所属するスレッドは、重要なタスクを実行するオペレーティングシステム

のプロセスを含むほかのすべてのプロセスのスレッドより先に実行される。少しでも長い時間

実行すると、ディスクキャッシュがフラッシュされなくなったり、マウスが応答しなくなることがあ

る。


戻り値
    関数が成功すると、0 以外の値が返る。
    関数が失敗すると、0 が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。