<Return[A]><Top>

AssignProcessToJobObject

Declare Function Api_AssignProcessToJobObject& Lib "kernel32" Alias "AssignProcessToJobObject" (ByVal hJob&, ByVal hProcess&)

Declare Function AssignProcessToJobObject Lib "kernel32" Alias "AssignProcessToJobObject" (ByVal hJob As Long, ByVal hProcess As Long) As Long

プロセスを既存のジョブオブジェクトに関連付ける。

パラメータ

hJob
    プロセスを関連付けるジョブオブジェクトを識別するハンドルを指定する。CreateJobObject 関数または OpenJobObject 関数が返すハンドルを

    使う。このハンドルには、JOB_OBJECT_ASSIGN_PROCESS アクセス権が関連付けられていなければならない。
hProcess
    ジョブオブジェクトに関連付けるプロセスを識別するハンドルを指定する。

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

解説
    AssignProcessToJobObject 関数を使ってプロセスをジョブオブジェクトに関連付けると、そのプロセスはジョブオブジェクトに設定されたリミット

    による制限を受けるようになる。ジョブオブジェクトのリミットは、SetInformationJobObject 関数を使って設定する。
    ジョブオブジェクトにユーザーモードのタイムリミットがあり、そのタイムリミットが過ぎている場合、AssignProcessToJobObject 関数は失敗

    し、指定したプロセスが終了する。ジョブオブジェクトにアクティブなプロセスリミットがあり、指定したプロセスを関連付けることでリミットを超え

    る場合、AssignProcessToJobObject 関数は失敗し、指定したプロセスが終了する。
    1 つのプロセスは 1 つのジョブオブジェクトだけに関連付けることができる。プロセスをジョブオブジェクトに関連付けると、そのプロセスによって

    作成されたすべてのプロセスがそのジョブオブジェクトに関連付けられる。プロセスは、関連付けられたジョブオブジェクトからリミットを継承し、

    そのアカウント情報をジョブオブジェクトに追加する。