JOBOBJECT_LIMIT_VIOLATION_INFORMATION 構造体 (winnt.h)
ジョブ オブジェクトに対して超過したリソース通知の制限に関する情報が含まれます。 この構造体は、JobObjectLimitViolationInformation 情報クラスと共に QueryInformationJobObject 関数で使用されます。
構文
typedef struct _JOBOBJECT_LIMIT_VIOLATION_INFORMATION {
DWORD LimitFlags;
DWORD ViolationLimitFlags;
DWORD64 IoReadBytes;
DWORD64 IoReadBytesLimit;
DWORD64 IoWriteBytes;
DWORD64 IoWriteBytesLimit;
LARGE_INTEGER PerJobUserTime;
LARGE_INTEGER PerJobUserTimeLimit;
DWORD64 JobMemory;
DWORD64 JobMemoryLimit;
JOBOBJECT_RATE_CONTROL_TOLERANCE RateControlTolerance;
JOBOBJECT_RATE_CONTROL_TOLERANCE RateControlToleranceLimit;
} JOBOBJECT_LIMIT_VIOLATION_INFORMATION, *PJOBOBJECT_LIMIT_VIOLATION_INFORMATION;
メンバー
LimitFlags
ジョブに対して有効な通知制限を識別するフラグ。 このメンバーは、他の構造体メンバーを使用するかどうかを決定するビットフィールドです。 このメンバーには、次の値を任意に組み合わせて使用できます。
ViolationLimitFlags
超過した通知の制限を識別するフラグ。 このメンバーは、他の構造体メンバーを使用するかどうかを決定するビットフィールドです。 このメンバーには、次の値を任意に組み合わせて使用できます。
IoReadBytes
ViolationLimitFlags メンバーがJOB_OBJECT_LIMIT_READ_BYTESを指定した場合、このメンバーには、通知の送信時にジョブ内のすべてのプロセスの合計 I/O 読み取りバイト数が含まれます。
IoReadBytesLimit
LimitFlags メンバーがJOB_OBJECT_LIMIT_READ_BYTESを指定した場合、このメンバーには、ジョブに有効な I/O 読み取りバイト通知制限が含まれます。
IoWriteBytes
ViolationLimitFlags メンバーがJOB_OBJECT_LIMIT_WRITE_BYTESを指定した場合、このメンバーには、通知の送信時にジョブ内のすべてのプロセスの合計 I/O 書き込みバイト数が含まれます。
IoWriteBytesLimit
LimitFlags メンバーがJOB_OBJECT_LIMIT_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を指定した場合、このメンバーには、通知の送信時にジョブ内のすべてのプロセスのコミット済みメモリが含まれます。
JobMemoryLimit
LimitFlags メンバーがJOB_OBJECT_LIMIT_JOB_MEMORYを指定した場合、このメンバーにはジョブに有効なコミット済みメモリ制限が含まれます。
RateControlTolerance
LimitFlags パラメーターがJOB_OBJECT_LIMIT_RATE_CONTROLを指定する場合、このメンバーは、通知が送信された時点でジョブが CPU レート制御制限を超えた範囲を指定します。 このメンバーには、次のいずれかの値を指定できます。
値 | 意味 |
---|---|
|
ジョブが許容間隔の 20% の CPU レート制御制限を超えました。 |
|
ジョブが許容間隔の 40% の CPU レート制御制限を超えました。 |
|
ジョブが許容間隔の 60% の CPU レート制御制限を超えました。 |
RateControlToleranceLimit
LimitFlags パラメーターがJOB_OBJECT_LIMIT_RATE_CONTROLを指定した場合、このメンバーにはジョブに指定された CPU レート制御通知の制限が含まれます。
値 | 意味 |
---|---|
|
許容間隔は 10 秒です。 |
|
許容間隔は 1 分です。 |
|
許容間隔は 10 分です。 |
注釈
JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION構造体で指定された通知制限を超えると、システムはジョブに関連付けられている I/O 完了ポートにJOB_OBJECT_MSG_NOTIFICATION_LIMITメッセージを送信します。
超過した制限に関する情報を取得するには、I/O 完了ポートを監視するアプリケーションは、JobObjectLimitViolationInformation 情報クラスと、JOBOBJECT_LIMIT_VIOLATION_INFORMATION構造体へのポインターを使用して QueryInformationJobObject 関数を呼び出す必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリのみ] |
Header | winnt.h |