Partager via


JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 structure (winnt.h)

Contient des informations étendues sur les limites de notification de ressources qui ont été dépassées pour un objet de travail. Cette structure est utilisée avec la fonction QueryInformationJobObject avec la classe d’informations JobObjectLimitViolationInformation2 .

Syntaxe

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;

Membres

LimitFlags

Indicateurs qui identifient les limites de notification en vigueur pour le travail. Ce membre est un champ de bits qui détermine si d’autres membres de la structure sont utilisés. Ce membre peut être n’importe quelle combinaison des valeurs suivantes.

Valeur Signification
JOB_OBJECT_LIMIT_JOB_MEMORY_HIGH
0x00000200
Le travail a une limite de notification de mémoire validée. Le membre JobHighMemoryLimit contient plus d’informations.
JOB_OBJECT_LIMIT_JOB_MEMORY_LOW
0x00008000
Le travail a une limite de notification de mémoire minimale validée. Le membre JobLowMemoryLimit contient plus d’informations.
JOB_OBJECT_LIMIT_JOB_READ_BYTES
0x00010000
Le travail a une limite de notification d’octets d’E/S en lecture. Le membre IoReadBytesLimit contient plus d’informations.
JOB_OBJECT_LIMIT_JOB_WRITE_BYTES
0x00020000
Le travail a une limite de notification d’octets d’écriture d’E/S. Le membre IoWriteBytesLimit contient plus d’informations.
JOB_OBJECT_LIMIT_JOB_TIME
0x00000004
Le travail a une limite de notification de temps d’exécution en mode utilisateur. Le membre PerJobUserTimeLimit contient plus d’informations.
JOB_OBJECT_LIMIT_RATE_CONTROL
0x00040000
Le travail a une limite de notification pour la mesure dans laquelle un travail peut dépasser sa limite de contrôle de débit processeur. Le membre RateControlToleranceLimit contient plus d’informations.
JOB_OBJECT_LIMIT_CPU_RATE_CONTROL
0x00040000
Le travail a une limite de notification pour la mesure dans laquelle un travail peut dépasser sa limite de contrôle de débit processeur. Le membre CpuRateControlToleranceLimit contient plus d’informations.
JOB_OBJECT_LIMIT_IO_RATE_CONTROL
0x00080000
Le travail a une limite de notification pour la mesure dans laquelle un travail peut dépasser sa limite de contrôle du taux d’E/S. Le membre IoRateControlToleranceLimit contient plus d’informations.
JOB_OBJECT_LIMIT_NET_RATE_CONTROL
0x00100000
Le travail a une limite de notification pour la mesure dans laquelle un travail peut dépasser sa limite de contrôle de débit réseau. Le membre NetRateControlToleranceLimit contient plus d’informations.

ViolationLimitFlags

Indicateurs qui identifient les limites de notification qui ont été dépassées. Ce membre est un champ de bits qui détermine si d’autres membres de la structure sont utilisés. Ce membre peut être n’importe quelle combinaison des valeurs suivantes.

Valeur Signification
JOB_OBJECT_LIMIT_JOB_READ_BYTES
0x00010000
La limite de notification d’octets de lecture d’E/S du travail a été dépassée. Le membre IoReadBytes contient plus d’informations.
JOB_OBJECT_LIMIT_JOB_WRITE_BYTES
0x00020000
La limite de notification d’écriture d’E/S du travail a été dépassée. Le membre IoWriteBytes contient plus d’informations.
JOB_OBJECT_LIMIT_JOB_TIME
0x00000004
La limite de notification de temps d’exécution en mode utilisateur du travail a été dépassée. Le membre PerJobUserTime contient plus d’informations.
JOB_OBJECT_LIMIT_JOB_MEMORY_HIGH
0x00000200
La limite maximale de notification de mémoire validée du travail a été dépassée. Le membre JobMemory contient plus d’informations.
JOB_OBJECT_LIMIT_JOB_MEMORY_LOW
0x00008000
La mémoire validée du travail est passée en dessous de sa limite de notification minimale. Le membre JobMemory contient plus d’informations.
JOB_OBJECT_LIMIT_RATE_CONTROL
0x00040000
La limite de contrôle du débit processeur du travail a été dépassée. Le membre RateControlTolerance contient plus d’informations.
JOB_OBJECT_LIMIT_CPU_RATE_CONTROL
0x00040000
La limite de contrôle du débit processeur du travail a été dépassée. Le membre CpuRateControlTolerance contient plus d’informations.
JOB_OBJECT_LIMIT_IO_RATE_CONTROL
0x00080000
La limite de contrôle du débit d’E/S du travail a été dépassée. Le membre IoRateControlTolerance contient plus d’informations.
JOB_OBJECT_LIMIT_NET_RATE_CONTROL
0x00100000
La limite de contrôle de débit réseau du travail a été dépassée. Le membre NetworkRateControlTolerance contient plus d’informations.

IoReadBytes

Si le membre ViolationLimitFlags spécifie JOB_OBJECT_LIMIT_JOB_READ_BYTES, ce membre contient le nombre total d’octets d’E/S lus pour tous les processus du travail au moment de l’envoi de la notification.

IoReadBytesLimit

Si le membre LimitFlags spécifie JOB_OBJECT_LIMIT_JOB_READ_BYTES, ce membre contient la limite de notification d’octets lus d’E/S en vigueur pour le travail.

IoWriteBytes

Si le membre ViolationLimitFlags spécifie JOB_OBJECT_LIMIT_JOB_WRITE_BYTES, ce membre contient le nombre total d’octets d’écriture d’E/S pour tous les processus du travail au moment de l’envoi de la notification.

IoWriteBytesLimit

Si le membre LimitFlags spécifie JOB_OBJECT_LIMIT_JOB_WRITE_BYTES, ce membre contient la limite de notification d’écriture d’E/S en octets en vigueur pour le travail.

PerJobUserTime

Si le membre ViolationLimitFlags spécifie JOB_OBJECT_LIMIT_JOB_TIME, ce membre contient le temps total d’exécution en mode utilisateur pour tous les processus du travail au moment de l’envoi de la notification.

PerJobUserTimeLimit

Si le membre LimitFlags spécifie JOB_OBJECT_LIMIT_JOB_TIME, ce membre contient la limite de notification d’exécution en mode utilisateur en vigueur pour le travail.

JobMemory

Si le membre ViolationLimitFlags spécifie JOB_OBJECT_LIMIT_JOB_MEMORY_HIGH ou JOB_OBJECT_LIMIT_JOB_MEMORY_LOW, ce membre contient la mémoire validée de tous les processus du travail au moment de l’envoi de la notification.

DUMMYUNIONNAME

DUMMYUNIONNAME.JobHighMemoryLimit

Si le membre LimitFlags spécifie JOB_OBJECT_LIMIT_JOB_MEMORY_HIGH, ce membre contient la limite de mémoire maximale validée en vigueur pour le travail.

DUMMYUNIONNAME.JobMemoryLimit

Si le membre LimitFlags spécifie JOB_OBJECT_LIMIT_JOB_MEMORY, ce membre contient la limite de mémoire maximale validée en vigueur pour le travail.

DUMMYUNIONNAME2

DUMMYUNIONNAME2.RateControlTolerance

Si le membre LimitFlags spécifie JOB_OBJECT_LIMIT_RATE_CONTROL, ce membre spécifie la mesure dans laquelle le travail a dépassé ses limites de contrôle de débit processeur au moment de l’envoi de la notification. Ce membre peut être l’une des valeurs suivantes.

Valeur Signification
ToleranceLow
1
Le travail a dépassé ses limites de contrôle de débit processeur pour 20 % de l’intervalle de tolérance.
ToleranceMedium
2
Le travail a dépassé ses limites de contrôle de débit processeur pour 40 % de l’intervalle de tolérance.
ToleranceHigh
3
Le travail a dépassé ses limites de contrôle de débit processeur pour 60 % de l’intervalle de tolérance.

DUMMYUNIONNAME2.CpuRateControlTolerance

Si le membre LimitFlags spécifie JOB_OBJECT_LIMIT_CPU_RATE_CONTROL, ce membre spécifie l’étendue dans laquelle le travail a dépassé ses limites de contrôle de débit processeur au moment de l’envoi de la notification. Ce membre peut être l’une des valeurs suivantes.

Valeur Signification
ToleranceLow
1
Le travail a dépassé ses limites de contrôle de débit processeur pour 20 % de l’intervalle de tolérance.
ToleranceMedium
2
Le travail a dépassé ses limites de contrôle de débit processeur pour 40 % de l’intervalle de tolérance.
ToleranceHigh
3
Le travail a dépassé ses limites de contrôle de débit processeur pour 60 % de l’intervalle de tolérance.

DUMMYUNIONNAME3

DUMMYUNIONNAME3.RateControlToleranceLimit

Si le membre LimitFlags spécifie JOB_OBJECT_LIMIT_RATE_CONTROL, ce membre contient les limites de notification de contrôle de débit processeur spécifiées pour le travail.

Valeur Signification
ToleranceLow
1
Le travail peut dépasser ses limites de contrôle de débit processeur pour 20 % de l’intervalle de tolérance.
ToleranceMedium
2
Le travail peut dépasser ses limites de contrôle de débit processeur pour 40 % de l’intervalle de tolérance.
ToleranceHigh
3
Le travail peut dépasser ses limites de contrôle de débit processeur pour 60 % de l’intervalle de tolérance.

DUMMYUNIONNAME3.CpuRateControlToleranceLimit

Si le paramètre LimitFlags spécifie JOB_OBJECT_LIMIT_CPU_RATE_CONTROL, ce membre contient les limites de notification de contrôle de débit processeur spécifiées pour le travail.

Valeur Signification
ToleranceLow
1
Le travail peut dépasser ses limites de contrôle de débit processeur pour 20 % de l’intervalle de tolérance.
ToleranceMedium
2
Le travail peut dépasser ses limites de contrôle de débit processeur pour 40 % de l’intervalle de tolérance.
ToleranceHigh
3
Le travail peut dépasser ses limites de contrôle de débit processeur pour 60 % de l’intervalle de tolérance.

JobLowMemoryLimit

Si le membre LimitFlags spécifie JOB_OBJECT_LIMIT_JOB_MEMORY_LOW, ce membre contient la limite de mémoire minimale validée en vigueur pour le travail.

IoRateControlTolerance

Si le membre LimitFlags spécifie JOB_OBJECT_LIMIT_IO_RATE_CONTROL, ce membre spécifie la mesure dans laquelle le travail a dépassé ses limites de contrôle du taux d’E/S au moment de l’envoi de la notification. Ce membre peut être l’une des valeurs suivantes.

Valeur Signification
ToleranceLow
1
Le travail a dépassé ses limites de contrôle de débit d’E/S pour 20 % de l’intervalle de tolérance.
ToleranceMedium
2
Le travail a dépassé ses limites de contrôle de débit d’E/S pour 40 % de l’intervalle de tolérance.
ToleranceHigh
3
Le travail a dépassé ses limites de contrôle du taux d’E/S pour 60 % de l’intervalle de tolérance.

IoRateControlToleranceLimit

Si le paramètre LimitFlags spécifie JOB_OBJECT_LIMIT_IO_RATE_CONTROL, ce membre contient les limites de notification du contrôle de débit d’E/S spécifiées pour le travail.

Valeur Signification
ToleranceLow
1
Le travail peut dépasser ses limites de contrôle de débit d’E/S pour 20 % de l’intervalle de tolérance.
ToleranceMedium
2
Le travail peut dépasser ses limites de contrôle de débit d’E/S pour 40 % de l’intervalle de tolérance.
ToleranceHigh
3
Le travail peut dépasser ses limites de contrôle de débit d’E/S pour 60 % de l’intervalle de tolérance.

NetRateControlTolerance

Si le membre LimitFlags spécifie JOB_OBJECT_LIMIT_NET_RATE_CONTROL, ce membre spécifie l’étendue dans laquelle la tâche a dépassé ses limites de contrôle de débit réseau au moment de l’envoi de la notification. Ce membre peut être l’une des valeurs suivantes.

Valeur Signification
ToleranceLow
1
Le travail a dépassé ses limites de contrôle de débit réseau pour 20 % de l’intervalle de tolérance.
ToleranceMedium
2
Le travail a dépassé ses limites de contrôle de débit réseau pour 40 % de l’intervalle de tolérance.
ToleranceHigh
3
Le travail a dépassé ses limites de contrôle de débit réseau pour 60 % de l’intervalle de tolérance.

NetRateControlToleranceLimit

Si le paramètre LimitFlags spécifie JOB_OBJECT_LIMIT_NETWORK_RATE_CONTROL, ce membre contient les limites de notification du contrôle de débit réseau spécifiées pour le travail.

Valeur Signification
ToleranceLow
1
Le travail peut dépasser ses limites de contrôle de débit réseau pour 20 % de l’intervalle de tolérance.
ToleranceMedium
2
Le travail peut dépasser ses limites de contrôle de débit réseau pour 40 % de l’intervalle de tolérance.
ToleranceHigh
3
Le travail peut dépasser ses limites de contrôle de débit réseau pour 60 % de l’intervalle de tolérance.

Remarques

Quand une limite de notification spécifiée dans une structure de JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2 est dépassée, le système envoie un message JOB_OBJECT_MSG_NOTIFICATION_LIMIT au port d’achèvement des E/S associé au travail.

Pour récupérer des informations sur les limites qui ont été dépassées, l’application qui surveille le port d’achèvement des E/S doit appeler la fonction QueryInformationJobObject avec la classe d’informations JobObjectLimitViolationInformation2 et un pointeur vers une structure JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10 (applications de bureau uniquement)
Serveur minimal pris en charge Windows Server 2016 (applications de bureau uniquement)
En-tête winnt.h

Voir aussi

JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2

QueryInformationJobObject

SetInformationJobObject