estructura JOBOBJECT_LIMIT_VIOLATION_INFORMATION (winnt.h)

Contiene información 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 JobObjectLimitViolationInformation .

Sintaxis

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;

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.

Valor Significado
JOB_OBJECT_LIMIT_JOB_MEMORY
0x00000200
El trabajo tiene un límite de notificación de memoria confirmada. El miembro JobMemoryLimit contiene más información.
JOB_OBJECT_LIMIT_JOB_READ_BYTES
0x00010000
El trabajo tiene un límite de notificaciones de bytes de lectura de E/S. El miembro IoReadBytesLimit contiene más información.
JOB_OBJECT_LIMIT_JOB_TIME
0x00000004
El trabajo tiene un límite de notificación de tiempo de ejecución en modo de usuario. El miembro PerJobUserTimeLimit contiene más información.
JOB_OBJECT_LIMIT_JOB_WRITE_BYTES
0x00020000
El trabajo tiene un límite de notificaciones de bytes de escritura de E/S. El miembro IoWriteBytesLimit contiene más información.
JOB_OBJECT_LIMIT_RATE_CONTROL
0x00040000
La medida en la que un trabajo puede superar su límite de control de velocidad de CPU. El miembro RateControlToleranceLimit contiene más información.

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.

Valor Significado
JOB_OBJECT_LIMIT_READ_BYTES
0x00010000
Se ha superado el límite de notificaciones de bytes de lectura de E/S del trabajo. El miembro IoReadBytes contiene más información.
JOB_OBJECT_LIMIT_WRITE_BYTES
0x00020000
Se ha superado el límite de notificaciones de bytes de escritura de E/S del trabajo. El miembro IoWriteBytes contiene más información.
JOB_OBJECT_LIMIT_JOB_TIME
0x00000004
Se ha superado el límite de notificación de tiempo de ejecución del modo de usuario del trabajo. El miembro PerJobUserTime contiene más información.
JOB_OBJECT_LIMIT_JOB_MEMORY
0x00000200
Se ha superado el límite de notificación de memoria confirmada del trabajo. El miembro JobMemory contiene más información.
JOB_OBJECT_LIMIT_RATE_CONTROL
0x00040000
Se ha superado el límite de control de velocidad de CPU del trabajo. El miembro RateControlTolerance contiene más información.

IoReadBytes

Si el miembro ViolationLimitFlags especifica JOB_OBJECT_LIMIT_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_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_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_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, este miembro contiene la memoria confirmada para todos los procesos del trabajo en el momento en que se envió la notificación.

JobMemoryLimit

Si el miembro LimitFlags especifica JOB_OBJECT_LIMIT_JOB_MEMORY, este miembro contiene el límite de memoria confirmada en vigor para el trabajo.

RateControlTolerance

Si el parámetro 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 siguientes valores.

Valor Significado
ToleranciaLow
1
El trabajo superó sus límites de control de velocidad de CPU para el 20 % del intervalo de tolerancia.
ToleranceMedium
2
El trabajo superó sus límites de control de velocidad de CPU para el 40 % del intervalo de tolerancia.
ToleranciaHigh
3
El trabajo superó sus límites de control de velocidad de CPU para el 60 % del intervalo de tolerancia.

RateControlToleranceLimit

Si el parámetro 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.

Valor Significado
ToleranceIntervalShort
1
El intervalo de tolerancia es de 10 segundos.
ToleranceIntervalMedium
2
El intervalo de tolerancia es de un minuto.
ToleranceIntervalLong
3
El intervalo de tolerancia es de 10 minutos.

Comentarios

Cuando se supera cualquier límite de notificación especificado en una estructura de JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION, 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 JobObjectLimitViolationInformation y un puntero a una estructura de JOBOBJECT_LIMIT_VIOLATION_INFORMATION .

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2012 [solo aplicaciones de escritorio]
Encabezado winnt.h

Consulte también

QueryInformationJobObject

SetInformationJobObject