struktur JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 (winnt.h)
Berisi informasi yang diperluas tentang batas pemberitahuan sumber daya yang telah terlampaui untuk objek pekerjaan. Struktur ini digunakan dengan fungsi QueryInformationJobObject dengan kelas informasi JobObjectLimitViolationInformation2 .
Sintaks
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;
Anggota
LimitFlags
Bendera yang mengidentifikasi batas pemberitahuan yang berlaku untuk pekerjaan tersebut. Anggota ini adalah bitfield yang menentukan apakah anggota struktur lain digunakan. Anggota ini bisa menjadi kombinasi apa pun dari nilai berikut.
ViolationLimitFlags
Bendera yang mengidentifikasi batas pemberitahuan yang telah terlampaui. Anggota ini adalah bitfield yang menentukan apakah anggota struktur lain digunakan. Anggota ini bisa menjadi kombinasi apa pun dari nilai berikut.
IoReadBytes
Jika anggota ViolationLimitFlags menentukan JOB_OBJECT_LIMIT_JOB_READ_BYTES, anggota ini berisi total byte baca I/O untuk semua proses dalam pekerjaan pada saat pemberitahuan dikirim.
IoReadBytesLimit
Jika anggota LimitFlags menentukan JOB_OBJECT_LIMIT_JOB_READ_BYTES, anggota ini berisi batas pemberitahuan byte baca I/O yang berlaku untuk pekerjaan tersebut.
IoWriteBytes
Jika anggota ViolationLimitFlags menentukan JOB_OBJECT_LIMIT_JOB_WRITE_BYTES, anggota ini berisi total byte tulis I/O untuk semua proses dalam pekerjaan pada saat pemberitahuan dikirim.
IoWriteBytesLimit
Jika anggota LimitFlags menentukan JOB_OBJECT_LIMIT_JOB_WRITE_BYTES, anggota ini berisi batas pemberitahuan byte tulis I/O yang berlaku untuk pekerjaan tersebut.
PerJobUserTime
Jika anggota ViolationLimitFlags menentukan JOB_OBJECT_LIMIT_JOB_TIME, anggota ini berisi total waktu eksekusi mode pengguna untuk semua proses dalam pekerjaan pada saat pemberitahuan dikirim.
PerJobUserTimeLimit
Jika anggota LimitFlags menentukan JOB_OBJECT_LIMIT_JOB_TIME, anggota ini berisi batas pemberitahuan eksekusi mode pengguna yang berlaku untuk pekerjaan tersebut.
JobMemory
Jika anggota ViolationLimitFlags menentukan JOB_OBJECT_LIMIT_JOB_MEMORY_HIGH atau JOB_OBJECT_LIMIT_JOB_MEMORY_LOW, anggota ini berisi memori yang diterapkan untuk semua proses dalam pekerjaan pada saat pemberitahuan dikirim.
DUMMYUNIONNAME
DUMMYUNIONNAME.JobHighMemoryLimit
Jika anggota LimitFlags menentukan JOB_OBJECT_LIMIT_JOB_MEMORY_HIGH, anggota ini berisi batas memori maksimum yang diterapkan untuk pekerjaan tersebut.
DUMMYUNIONNAME.JobMemoryLimit
Jika anggota LimitFlags menentukan JOB_OBJECT_LIMIT_JOB_MEMORY, anggota ini berisi batas memori maksimum yang diterapkan untuk pekerjaan tersebut.
DUMMYUNIONNAME2
DUMMYUNIONNAME2.RateControlTolerance
Jika anggota LimitFlags menentukan JOB_OBJECT_LIMIT_RATE_CONTROL, anggota ini menentukan sejauh mana pekerjaan melebihi batas kontrol tingkat CPU pada saat pemberitahuan dikirim. Anggota ini bisa menjadi salah satu nilai berikut.
DUMMYUNIONNAME2.CpuRateControlTolerance
Jika anggota LimitFlags menentukan JOB_OBJECT_LIMIT_CPU_RATE_CONTROL, anggota ini menentukan sejauh mana pekerjaan melebihi batas kontrol tingkat CPU pada saat pemberitahuan dikirim. Anggota ini bisa menjadi salah satu nilai berikut.
DUMMYUNIONNAME3
DUMMYUNIONNAME3.RateControlToleranceLimit
Jika anggota LimitFlags menentukan JOB_OBJECT_LIMIT_RATE_CONTROL, anggota ini berisi batas pemberitahuan kontrol tingkat CPU yang ditentukan untuk pekerjaan tersebut.
DUMMYUNIONNAME3.CpuRateControlToleranceLimit
Jika parameter LimitFlags menentukan JOB_OBJECT_LIMIT_CPU_RATE_CONTROL, anggota ini berisi batas pemberitahuan kontrol tingkat CPU yang ditentukan untuk pekerjaan tersebut.
JobLowMemoryLimit
Jika anggota LimitFlags menentukan JOB_OBJECT_LIMIT_JOB_MEMORY_LOW, anggota ini berisi batas memori minimum yang diterapkan untuk pekerjaan tersebut.
IoRateControlTolerance
Jika anggota LimitFlags menentukan JOB_OBJECT_LIMIT_IO_RATE_CONTROL, anggota ini menentukan sejauh mana pekerjaan melebihi batas kontrol tingkat I/O pada saat pemberitahuan dikirim. Anggota ini bisa menjadi salah satu nilai berikut.
IoRateControlToleranceLimit
Jika parameter LimitFlags menentukan JOB_OBJECT_LIMIT_IO_RATE_CONTROL, anggota ini berisi batas pemberitahuan kontrol tarif I/O yang ditentukan untuk pekerjaan tersebut.
NetRateControlTolerance
Jika anggota LimitFlags menentukan JOB_OBJECT_LIMIT_NET_RATE_CONTROL, anggota ini menentukan sejauh mana pekerjaan melebihi batas kontrol laju jaringannya pada saat pemberitahuan dikirim. Anggota ini bisa menjadi salah satu nilai berikut.
NetRateControlToleranceLimit
Jika parameter LimitFlags menentukan JOB_OBJECT_LIMIT_NETWORK_RATE_CONTROL, anggota ini berisi batas pemberitahuan kontrol laju jaringan yang ditentukan untuk pekerjaan tersebut.
Keterangan
Ketika batas pemberitahuan yang ditentukan dalam struktur JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2 terlampaui, sistem mengirim pesan JOB_OBJECT_MSG_NOTIFICATION_LIMIT ke port penyelesaian I/O yang terkait dengan pekerjaan.
Untuk mengambil informasi tentang batas yang terlampaui, aplikasi yang memantau port penyelesaian I/O harus memanggil fungsi QueryInformationJobObject dengan kelas informasi JobObjectLimitViolationInformation2 dan pointer ke struktur JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 .
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 10 [khusus aplikasi desktop] |
Server minimum yang didukung | Windows Server 2016 [hanya aplikasi desktop] |
Header | winnt.h |