JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2構造体 (winnt.h)
ジョブ オブジェクトに対して超過したリソース通知の制限に関する拡張情報が含まれます。 この構造体は、 QueryInformationJobObject 関数と JobObjectLimitViolationInformation2 情報クラスで使用されます。
構文
typedef struct JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 {
DWORD LimitFlags;
DWORD ViolationLimitFlags;
DWORD64 IoReadBytes;
DWORD64 IoReadBytesLimit;
DWORD64 IoWriteBytes;
DWORD64 IoWriteBytesLimit;
LARGE_INTEGER PerJobUserTime;
LARGE_INTEGER PerJobUserTimeLimit;
DWORD64 JobMemory;
union {
DWORD64 JobHighMemoryLimit;
DWORD64 JobMemoryLimit;
} DUMMYUNIONNAME;
union {
JOBOBJECT_RATE_CONTROL_TOLERANCE RateControlTolerance;
JOBOBJECT_RATE_CONTROL_TOLERANCE CpuRateControlTolerance;
} DUMMYUNIONNAME2;
union {
JOBOBJECT_RATE_CONTROL_TOLERANCE RateControlToleranceLimit;
JOBOBJECT_RATE_CONTROL_TOLERANCE CpuRateControlToleranceLimit;
} DUMMYUNIONNAME3;
DWORD64 JobLowMemoryLimit;
JOBOBJECT_RATE_CONTROL_TOLERANCE IoRateControlTolerance;
JOBOBJECT_RATE_CONTROL_TOLERANCE IoRateControlToleranceLimit;
JOBOBJECT_RATE_CONTROL_TOLERANCE NetRateControlTolerance;
JOBOBJECT_RATE_CONTROL_TOLERANCE NetRateControlToleranceLimit;
} JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2;
メンバー
LimitFlags
ジョブに対して有効な通知制限を識別するフラグ。 このメンバーは、他の構造体メンバーを使用するかどうかを決定するビットフィールドです。 このメンバーには、次の値の任意の組み合わせを指定できます。
ViolationLimitFlags
超過した通知制限を識別するフラグ。 このメンバーは、他の構造体メンバーを使用するかどうかを決定するビットフィールドです。 このメンバーには、次の値の任意の組み合わせを指定できます。
IoReadBytes
ViolationLimitFlags メンバーがJOB_OBJECT_LIMIT_JOB_READ_BYTESを指定した場合、このメンバーには、通知の送信時にジョブ内のすべてのプロセスの合計 I/O 読み取りバイト数が含まれます。
IoReadBytesLimit
LimitFlags メンバーがJOB_OBJECT_LIMIT_JOB_READ_BYTESを指定した場合、このメンバーにはジョブに有効な I/O 読み取りバイト通知制限が含まれます。
IoWriteBytes
ViolationLimitFlags メンバーがJOB_OBJECT_LIMIT_JOB_WRITE_BYTESを指定した場合、このメンバーには、通知の送信時にジョブ内のすべてのプロセスの合計 I/O 書き込みバイト数が含まれます。
IoWriteBytesLimit
LimitFlags メンバーがJOB_OBJECT_LIMIT_JOB_WRITE_BYTESを指定した場合、このメンバーにはジョブに有効な I/O 書き込みバイト通知制限が含まれます。
PerJobUserTime
ViolationLimitFlags メンバーがJOB_OBJECT_LIMIT_JOB_TIMEを指定した場合、このメンバーには、通知の送信時にジョブ内のすべてのプロセスの合計ユーザー モード実行時間が含まれます。
PerJobUserTimeLimit
LimitFlags メンバーがJOB_OBJECT_LIMIT_JOB_TIMEを指定した場合、このメンバーには、ジョブに有効なユーザー モード実行通知の制限が含まれます。
JobMemory
ViolationLimitFlags メンバーがJOB_OBJECT_LIMIT_JOB_MEMORY_HIGHまたはJOB_OBJECT_LIMIT_JOB_MEMORY_LOWを指定した場合、このメンバーには、通知が送信された時点でジョブ内のすべてのプロセスのコミット済みメモリが含まれます。
DUMMYUNIONNAME
DUMMYUNIONNAME.JobHighMemoryLimit
LimitFlags メンバーがJOB_OBJECT_LIMIT_JOB_MEMORY_HIGHを指定した場合、このメンバーにはジョブに有効なコミットされた最大メモリ制限が含まれます。
DUMMYUNIONNAME.JobMemoryLimit
LimitFlags メンバーがJOB_OBJECT_LIMIT_JOB_MEMORYを指定した場合、このメンバーにはジョブに有効なコミットされた最大メモリ制限が含まれます。
DUMMYUNIONNAME2
DUMMYUNIONNAME2.RateControlTolerance
LimitFlags メンバーがJOB_OBJECT_LIMIT_RATE_CONTROLを指定した場合、このメンバーは、通知が送信された時点でジョブが CPU レート制御の制限を超えたエクステントを指定します。 このメンバーには、次のいずれかの値を指定できます。
値 | 意味 |
---|---|
|
ジョブが許容間隔の 20% の CPU レート制御制限を超えました。 |
|
ジョブが許容間隔の 40% の CPU レート制御制限を超えました。 |
|
ジョブが許容間隔の 60% の CPU レート制御制限を超えました。 |
DUMMYUNIONNAME2.CpuRateControlTolerance
LimitFlags メンバーがJOB_OBJECT_LIMIT_CPU_RATE_CONTROLを指定した場合、このメンバーは、通知が送信された時点でジョブが CPU レート制御制限を超えたエクステントを指定します。 このメンバーには、次のいずれかの値を指定できます。
値 | 意味 |
---|---|
|
ジョブが許容間隔の 20% の CPU レート制御制限を超えました。 |
|
ジョブが許容間隔の 40% の CPU レート制御制限を超えました。 |
|
ジョブが許容間隔の 60% の CPU レート制御制限を超えました。 |
DUMMYUNIONNAME3
DUMMYUNIONNAME3.RateControlToleranceLimit
LimitFlags メンバーがJOB_OBJECT_LIMIT_RATE_CONTROLを指定した場合、このメンバーにはジョブに対して指定された CPU レート制御通知制限が含まれます。
値 | 意味 |
---|---|
|
ジョブは、許容間隔の 20% の CPU レート制御制限を超える可能性があります。 |
|
ジョブは、許容間隔の 40% の CPU レート制御制限を超える可能性があります。 |
|
ジョブは、許容間隔の 60% の CPU レート制御制限を超える可能性があります。 |
DUMMYUNIONNAME3.CpuRateControlToleranceLimit
LimitFlags パラメーターでJOB_OBJECT_LIMIT_CPU_RATE_CONTROLが指定されている場合、このメンバーにはジョブに指定された CPU レート制御通知制限が含まれます。
値 | 意味 |
---|---|
|
ジョブは、許容間隔の 20% の CPU レート制御制限を超える可能性があります。 |
|
ジョブは、許容間隔の 40% の CPU レート制御制限を超える可能性があります。 |
|
ジョブは、許容間隔の 60% の CPU レート制御制限を超える可能性があります。 |
JobLowMemoryLimit
LimitFlags メンバーがJOB_OBJECT_LIMIT_JOB_MEMORY_LOWを指定した場合、このメンバーにはジョブに有効なコミット済み最小メモリ制限が含まれます。
IoRateControlTolerance
LimitFlags メンバーがJOB_OBJECT_LIMIT_IO_RATE_CONTROLを指定した場合、このメンバーは、通知が送信された時点でジョブが I/O レート制御制限を超えたエクステントを指定します。 このメンバーには、次のいずれかの値を指定できます。
値 | 意味 |
---|---|
|
ジョブが許容間隔の 20% の I/O レート制御制限を超えました。 |
|
ジョブが許容間隔の 40% の I/O レート制御制限を超えました。 |
|
ジョブが許容間隔の 60% の I/O レート制御制限を超えました。 |
IoRateControlToleranceLimit
LimitFlags パラメーターでJOB_OBJECT_LIMIT_IO_RATE_CONTROLが指定されている場合、このメンバーにはジョブに指定された I/O レート制御通知制限が含まれます。
値 | 意味 |
---|---|
|
ジョブは、許容間隔の 20% の I/O レート制御制限を超える可能性があります。 |
|
ジョブは、許容間隔の 40% の I/O レート制御制限を超える可能性があります。 |
|
ジョブは、許容間隔の 60% の I/O レート制御制限を超える可能性があります。 |
NetRateControlTolerance
LimitFlags メンバーがJOB_OBJECT_LIMIT_NET_RATE_CONTROLを指定した場合、このメンバーは、通知が送信された時点でジョブがネットワーク レート制御の制限を超えたエクステントを指定します。 このメンバーには、次のいずれかの値を指定できます。
値 | 意味 |
---|---|
|
ジョブは、許容範囲の 20% のネットワーク レート制御制限を超えました。 |
|
ジョブは、許容範囲の 40% のネットワーク レート制御制限を超えました。 |
|
ジョブが許容範囲の 60% のネットワーク レート制御制限を超えました。 |
NetRateControlToleranceLimit
LimitFlags パラメーターでJOB_OBJECT_LIMIT_NETWORK_RATE_CONTROLが指定されている場合、このメンバーにはジョブに指定されたネットワーク レート制御通知の制限が含まれます。
値 | 意味 |
---|---|
|
ジョブは、許容範囲の 20% のネットワーク レート制御制限を超える可能性があります。 |
|
ジョブは、許容範囲の 40% のネットワーク レート制御制限を超える可能性があります。 |
|
ジョブは、許容間隔の 60% のネットワーク レート制御制限を超える可能性があります。 |
注釈
JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2構造体で指定された通知制限を超えると、システムはジョブに関連付けられている I/O 完了ポートにJOB_OBJECT_MSG_NOTIFICATION_LIMITメッセージを送信します。
超過した制限に関する情報を取得するには、I/O 完了ポートを監視するアプリケーションは、JobObjectLimitViolationInformation2 情報クラスと、JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2構造体へのポインターを使用して QueryInformationJobObject 関数を呼び出す必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2016 [デスクトップ アプリのみ] |
Header | winnt.h |