структура JOBOBJECT_LIMIT_VIOLATION_INFORMATION (winnt.h)
Содержит сведения об ограничениях уведомлений о ресурсах, которые были превышены для объекта задания. Эта структура используется с функцией QueryInformationJobObject с информационным классом JobObjectLimitViolationInformation .
Синтаксис
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, он содержит общее количество байтов чтения ввода-вывода для всех процессов в задании на момент отправки уведомления.
IoReadBytesLimit
Если элемент LimitFlags указывает JOB_OBJECT_LIMIT_READ_BYTES, этот элемент содержит ограничение уведомлений о чтении операций ввода-вывода в байтах, которое действует для задания.
IoWriteBytes
Если член ViolationLimitFlags указывает JOB_OBJECT_LIMIT_WRITE_BYTES, он содержит общее количество байтов записи ввода-вывода для всех процессов в задании на момент отправки уведомления.
IoWriteBytesLimit
Если элемент LimitFlags указывает JOB_OBJECT_LIMIT_WRITE_BYTES, этот элемент содержит ограничение уведомлений о записи ввода-вывода в байтах, которое действует для задания.
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, этот элемент указывает, в какой степени задание превысило пределы управления скоростью ЦП на момент отправки уведомления. Этот элемент может иметь одно из следующих значений.
RateControlToleranceLimit
Если параметр LimitFlags указывает JOB_OBJECT_LIMIT_RATE_CONTROL, этот элемент содержит ограничения уведомлений для управления скоростью ЦП, указанные для задания.
Комментарии
При превышении предела уведомлений, указанного в структуре JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION, система отправляет JOB_OBJECT_MSG_NOTIFICATION_LIMIT сообщение на порт завершения ввода-вывода, связанный с заданием.
Чтобы получить сведения о превышении ограничений, приложение, отслеживающее порт завершения ввода-вывода, должно вызвать функцию QueryInformationJobObject с информационным классом JobObjectLimitViolationInformation и указателем на структуру JOBOBJECT_LIMIT_VIOLATION_INFORMATION .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 [только классические приложения] |
Минимальная версия сервера | Windows Server 2012 [только классические приложения] |
Верхняя часть | winnt.h |