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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 |