estructura JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 (winnt.h)
Contiene información extendida sobre los límites de notificación de recursos que se han superado para un objeto de trabajo. Esta estructura se usa con la función QueryInformationJobObject con la clase de información JobObjectLimitViolationInformation2 .
Sintaxis
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;
Miembros
LimitFlags
Marcas que identifican los límites de notificación en vigor para el trabajo. Este miembro es un campo de bits que determina si se usan otros miembros de estructura. Este miembro puede ser cualquier combinación de los valores siguientes.
ViolationLimitFlags
Marcas que identifican los límites de notificación que se han superado. Este miembro es un campo de bits que determina si se usan otros miembros de estructura. Este miembro puede ser cualquier combinación de los valores siguientes.
IoReadBytes
Si el miembro ViolationLimitFlags especifica JOB_OBJECT_LIMIT_JOB_READ_BYTES, este miembro contiene el total de bytes de lectura de E/S para todos los procesos del trabajo en el momento en que se envió la notificación.
IoReadBytesLimit
Si el miembro LimitFlags especifica JOB_OBJECT_LIMIT_JOB_READ_BYTES, este miembro contiene el límite de notificaciones de bytes de lectura de E/S en vigor para el trabajo.
IoWriteBytes
Si el miembro ViolationLimitFlags especifica JOB_OBJECT_LIMIT_JOB_WRITE_BYTES, este miembro contiene el total de bytes de escritura de E/S para todos los procesos del trabajo en el momento en que se envió la notificación.
IoWriteBytesLimit
Si el miembro LimitFlags especifica JOB_OBJECT_LIMIT_JOB_WRITE_BYTES, este miembro contiene el límite de notificaciones de bytes de escritura de E/S en vigor para el trabajo.
PerJobUserTime
Si el miembro ViolationLimitFlags especifica JOB_OBJECT_LIMIT_JOB_TIME, este miembro contiene el tiempo total de ejecución del modo de usuario para todos los procesos del trabajo en el momento en que se envió la notificación.
PerJobUserTimeLimit
Si el miembro LimitFlags especifica JOB_OBJECT_LIMIT_JOB_TIME, este miembro contiene el límite de notificación de ejecución en modo de usuario en vigor para el trabajo.
JobMemory
Si el miembro ViolationLimitFlags especifica JOB_OBJECT_LIMIT_JOB_MEMORY_HIGH o JOB_OBJECT_LIMIT_JOB_MEMORY_LOW, este miembro contiene la memoria confirmada para todos los procesos del trabajo en el momento en que se envió la notificación.
DUMMYUNIONNAME
DUMMYUNIONNAME.JobHighMemoryLimit
Si el miembro LimitFlags especifica JOB_OBJECT_LIMIT_JOB_MEMORY_HIGH, este miembro contiene el límite de memoria máximo confirmado en vigor para el trabajo.
DUMMYUNIONNAME.JobMemoryLimit
Si el miembro LimitFlags especifica JOB_OBJECT_LIMIT_JOB_MEMORY, este miembro contiene el límite de memoria máximo confirmado en vigor para el trabajo.
DUMMYUNIONNAME2
DUMMYUNIONNAME2.RateControlTolerance
Si el miembro LimitFlags especifica JOB_OBJECT_LIMIT_RATE_CONTROL, este miembro especifica la medida en que el trabajo superó sus límites de control de velocidad de CPU en el momento en que se envió la notificación. Este miembro puede ser uno de los valores siguientes.
DUMMYUNIONNAME2.CpuRateControlTolerance
Si el miembro LimitFlags especifica JOB_OBJECT_LIMIT_CPU_RATE_CONTROL, este miembro especifica la medida en que el trabajo superó sus límites de control de velocidad de CPU en el momento en que se envió la notificación. Este miembro puede ser uno de los valores siguientes.
DUMMYUNIONNAME3
DUMMYUNIONNAME3.RateControlToleranceLimit
Si el miembro LimitFlags especifica JOB_OBJECT_LIMIT_RATE_CONTROL, este miembro contiene los límites de notificación de control de velocidad de CPU especificados para el trabajo.
DUMMYUNIONNAME3.CpuRateControlToleranceLimit
Si el parámetro LimitFlags especifica JOB_OBJECT_LIMIT_CPU_RATE_CONTROL, este miembro contiene los límites de notificación de control de velocidad de CPU especificados para el trabajo.
JobLowMemoryLimit
Si el miembro LimitFlags especifica JOB_OBJECT_LIMIT_JOB_MEMORY_LOW, este miembro contiene el límite de memoria mínimo confirmado en vigor para el trabajo.
IoRateControlTolerance
Si el miembro LimitFlags especifica JOB_OBJECT_LIMIT_IO_RATE_CONTROL, este miembro especifica la medida en que el trabajo superó sus límites de control de velocidad de E/S en el momento en que se envió la notificación. Este miembro puede ser uno de los valores siguientes.
IoRateControlToleranceLimit
Si el parámetro LimitFlags especifica JOB_OBJECT_LIMIT_IO_RATE_CONTROL, este miembro contiene los límites de notificación de control de velocidad de E/S especificados para el trabajo.
NetRateControlTolerance
Si el miembro LimitFlags especifica JOB_OBJECT_LIMIT_NET_RATE_CONTROL, este miembro especifica la medida en que el trabajo superó sus límites de control de velocidad de red en el momento en que se envió la notificación. Este miembro puede ser uno de los valores siguientes.
NetRateControlToleranceLimit
Si el parámetro LimitFlags especifica JOB_OBJECT_LIMIT_NETWORK_RATE_CONTROL, este miembro contiene los límites de notificación de control de velocidad de red especificados para el trabajo.
Comentarios
Cuando se supera cualquier límite de notificación especificado en una estructura de JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2 , el sistema envía un mensaje JOB_OBJECT_MSG_NOTIFICATION_LIMIT al puerto de finalización de E/S asociado al trabajo.
Para recuperar información sobre los límites que se superaron, la aplicación que supervisa el puerto de finalización de E/S debe llamar a la función QueryInformationJobObject con la clase de información JobObjectLimitViolationInformation2 y un puntero a una estructura de JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 10 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2016 [solo aplicaciones de escritorio] |
Encabezado | winnt.h |