SetInformationJobObject 関数 (jobapi2.h)
ジョブ オブジェクトの制限を設定します。
構文
BOOL SetInformationJobObject(
[in] HANDLE hJob,
[in] JOBOBJECTINFOCLASS JobObjectInformationClass,
[in] LPVOID lpJobObjectInformation,
[in] DWORD cbJobObjectInformationLength
);
パラメーター
[in] hJob
制限が設定されているジョブのハンドル。 CreateJobObject または OpenJobObject 関数は、このハンドルを返します。 ハンドルには、 JOB_OBJECT_SET_ATTRIBUTES アクセス権が必要です。 詳細については、「 ジョブ オブジェクトのセキュリティとアクセス権」を参照してください。
[in] JobObjectInformationClass
設定する制限の情報クラス。 このパラメーターには、次の値のいずれかを指定できます。
値 | 意味 |
---|---|
|
lpJobObjectInfo パラメーターは、JOBOBJECT_ASSOCIATE_COMPLETION_PORT構造体へのポインターです。 |
|
lpJobObjectInfo パラメーターは、JOBOBJECT_BASIC_LIMIT_INFORMATION構造体へのポインターです。 |
|
lpJobObjectInfo パラメーターは、JOBOBJECT_BASIC_UI_RESTRICTIONS構造体へのポインターです。 |
|
lpJobObjectInfo パラメーターは、JOBOBJECT_CPU_RATE_CONTROL_INFORMATION構造体へのポインターです。
Windows 7、Windows Server 2008 R2、Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: このフラグはサポートされていません。 Dynamic Fair Share Scheduling (DFSS) が有効になっている場合、CPU レートを設定できず、SetInformationJobObject はエラー コード 50 ("要求はサポートされていません") で失敗します。 |
|
lpJobObjectInfo パラメーターは、JOBOBJECT_END_OF_JOB_TIME_INFORMATION構造体へのポインターです。 |
|
lpJobObjectInfo パラメーターは、JOBOBJECT_EXTENDED_LIMIT_INFORMATION構造体へのポインターです。 |
|
lpJobObjectInfo パラメーターは、ジョブを割り当てるプロセッサ グループの一覧を指定する USHORT 値へのポインターです。 cbJobObjectInfoLength パラメーターは、グループ データのサイズに設定されます。 この値を で sizeof(USHORT) 除算して、グループの数を決定します。
Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: このフラグはサポートされていません。 |
|
lpJobObjectInfo パラメーターは、ジョブが現在割り当てられているプロセッサ グループのジョブのアフィニティを指定するGROUP_AFFINITY構造体の配列を含むバッファーへのポインターです。 cbJobObjectInfoLength パラメーターは、グループ アフィニティ データのサイズに設定されます。 この値を で sizeof(GROUP_AFFINITY) 除算して、グループの数を決定します。
Windows 7、Windows Server 2008 R2、Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: このフラグはサポートされていません。 |
|
lpJobObjectInfo パラメーターは、JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2構造体へのポインターです。
Windows 8.1、Windows Server 2012 R2、Windows 8、Windows Server 2012、Windows 7、Windows Server 2008 R2、Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: このフラグはサポートされていません。 |
|
lpJobObjectInfo パラメーターは、JOBOBJECT_NET_RATE_CONTROL_INFORMATION構造体へのポインターです。
Windows 8.1、Windows Server 2012 R2、Windows 8、Windows Server 2012、Windows 7、Windows Server 2008 R2、Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: このフラグはサポートされていません。 |
|
lpJobObjectInfo パラメーターは、JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION構造体へのポインターです。
Windows 7、Windows Server 2008 R2、Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: このフラグはサポートされていません。 |
|
lpJobObjectInfo パラメーターは、JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2構造体へのポインターです。
Windows 8.1、Windows Server 2012 R2、Windows 8、Windows Server 2012、Windows 7、Windows Server 2008 R2、Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: このフラグはサポートされていません。 |
|
このフラグはサポートされていません。 アプリケーションでは、プロセスごとにセキュリティ制限を個別に設定する必要があります。
Windows Server 2003 および Windows XP: lpJobObjectInfo パラメーターは、JOBOBJECT_SECURITY_LIMIT_INFORMATION構造体へのポインターです。 hJob ハンドルには、JOB_OBJECT_SET_SECURITY_ATTRIBUTESアクセス権が関連付けられている必要があります。 |
[in] lpJobObjectInformation
ジョブに設定する制限またはジョブの状態。 このデータの形式は 、JobObjectInfoClass の値によって異なります。
[in] cbJobObjectInformationLength
設定されているジョブ情報のサイズ (バイト単位)。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
SetInformationJobObject 関数を使用して、1 回の呼び出しで複数の制限を設定します。 制限を一度に 1 つずつ確立するか、制限のサブセットを変更するには、 QueryInformationJobObject 関数を呼び出して現在の制限を取得し、これらの制限を変更してから 、SetInformationJobObject を呼び出します。
セキュリティ制限は、ジョブ オブジェクト自体に設定するのではなく、ジョブ オブジェクトに関連付けられているプロセスごとに個別に設定する必要があります。 詳細については、「 セキュリティとアクセス権の処理」を参照してください。
Windows Server 2003 および Windows XP: SetInformationJobObject 関数を使用して、ジョブ オブジェクトのセキュリティ制限を設定します。
この関数を使用するアプリケーションをコンパイルするには、_WIN32_WINNTを 0x0500 以降として定義します。 詳細については、「 Windows ヘッダーの使用」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | jobapi2.h (Windows.h を含む) |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |
関連項目
JOBOBJECT_ASSOCIATE_COMPLETION_PORT
JOBOBJECT_BASIC_LIMIT_INFORMATION
JOBOBJECT_BASIC_UI_RESTRICTIONS
JOBOBJECT_CPU_RATE_CONTROL_INFORMATION
JOBOBJECT_END_OF_JOB_TIME_INFORMATION
JOBOBJECT_EXTENDED_LIMIT_INFORMATION
JOBOBJECT_LIMIT_VIOLATION_INFORMATION
JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2
JOBOBJECT_NET_RATE_CONTROL_INFORMATION
JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION
JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2