JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 Struktur (winnt.h)
Enthält erweiterte Informationen zu Ressourcenbenachrichtigungsgrenzwerten, die für ein Auftragsobjekt überschritten wurden. Diese Struktur wird mit der QueryInformationJobObject-Funktion mit der Informationsklasse JobObjectLimitViolationInformation2 verwendet.
Syntax
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;
Member
LimitFlags
Flags, die die für den Auftrag geltenden Benachrichtigungsgrenzwerte identifizieren. Dieses Element ist ein Bitfeld, das bestimmt, ob andere Strukturmember verwendet werden. Dieses Element kann eine beliebige Kombination der folgenden Werte sein.
ViolationLimitFlags
Flags, die die überschrittenen Benachrichtigungsgrenzwerte identifizieren. Dieses Element ist ein Bitfeld, das bestimmt, ob andere Strukturmember verwendet werden. Dieses Element kann eine beliebige Kombination der folgenden Werte sein.
IoReadBytes
Wenn der Member ViolationLimitFlagsJOB_OBJECT_LIMIT_JOB_READ_BYTES angibt, enthält dieses Element die Gesamtanzahl von E/A-Lesebytes für alle Prozesse im Auftrag zum Zeitpunkt des Sendens der Benachrichtigung.
IoReadBytesLimit
Wenn der LimitFlags-MemberJOB_OBJECT_LIMIT_JOB_READ_BYTES angibt, enthält dieses Element das für den Auftrag geltenden Grenzwert für E/A-Lesebyte-Benachrichtigungen.
IoWriteBytes
Wenn das Member ViolationLimitFlagsJOB_OBJECT_LIMIT_JOB_WRITE_BYTES angibt, enthält dieses Element die Gesamtanzahl von E/A-Schreibbytes für alle Prozesse im Auftrag zum Zeitpunkt des Sendens der Benachrichtigung.
IoWriteBytesLimit
Wenn das LimitFlags-ElementJOB_OBJECT_LIMIT_JOB_WRITE_BYTES angibt, enthält dieses Element das E/A-Benachrichtigungslimit für E/A-Schreibbytes, das für den Auftrag gilt.
PerJobUserTime
Wenn der Member ViolationLimitFlagsJOB_OBJECT_LIMIT_JOB_TIME angibt, enthält dieses Element die Gesamtausführungszeit des Benutzermodus für alle Prozesse im Auftrag zum Zeitpunkt des Sendens der Benachrichtigung.
PerJobUserTimeLimit
Wenn der LimitFlags-MemberJOB_OBJECT_LIMIT_JOB_TIME angibt, enthält dieses Element das für den Auftrag geltenden Grenzwert für die Ausführungsbenachrichtigung im Benutzermodus.
JobMemory
Wenn der Member ViolationLimitFlagsJOB_OBJECT_LIMIT_JOB_MEMORY_HIGH oder JOB_OBJECT_LIMIT_JOB_MEMORY_LOW angibt, enthält dieses Element den Commitspeicher für alle Prozesse im Auftrag zum Zeitpunkt des Sendens der Benachrichtigung.
DUMMYUNIONNAME
DUMMYUNIONNAME.JobHighMemoryLimit
Wenn der LimitFlags-MemberJOB_OBJECT_LIMIT_JOB_MEMORY_HIGH angibt, enthält dieser Member das für den Auftrag zulässige maximale Arbeitsspeicherlimit.
DUMMYUNIONNAME.JobMemoryLimit
Wenn der LimitFlags-MemberJOB_OBJECT_LIMIT_JOB_MEMORY angibt, enthält dieses Element das für den Auftrag zulässige maximale Arbeitsspeicherlimit.
DUMMYUNIONNAME2
DUMMYUNIONNAME2.RateControlTolerance
Wenn der LimitFlags-MemberJOB_OBJECT_LIMIT_RATE_CONTROL angibt, gibt dieses Element den Umfang an, in dem der Auftrag seine CPU-Ratensteuerungsgrenzwerte zum Zeitpunkt des Sendens der Benachrichtigung überschritten hat. Dieser Member kann einer der folgenden Werte sein.
DUMMYUNIONNAME2.CpuRateControlTolerance
Wenn der LimitFlags-MemberJOB_OBJECT_LIMIT_CPU_RATE_CONTROL angibt, gibt dieses Element den Umfang an, in dem der Auftrag seine CPU-Ratensteuerungsgrenzwerte zum Zeitpunkt des Sendens der Benachrichtigung überschritten hat. Dieser Member kann einer der folgenden Werte sein.
DUMMYUNIONNAME3
DUMMYUNIONNAME3.RateControlToleranceLimit
Wenn der LimitFlags-MemberJOB_OBJECT_LIMIT_RATE_CONTROL angibt, enthält dieses Element die für den Auftrag angegebenen Benachrichtigungsgrenzwerte für die CPU-Ratensteuerung.
DUMMYUNIONNAME3.CpuRateControlToleranceLimit
Wenn der Parameter LimitFlagsJOB_OBJECT_LIMIT_CPU_RATE_CONTROL angibt, enthält dieser Member die grenzwerte für die CPU-Ratensteuerung, die für den Auftrag angegeben sind.
JobLowMemoryLimit
Wenn der LimitFlags-MemberJOB_OBJECT_LIMIT_JOB_MEMORY_LOW angibt, enthält dieser Member die für den Auftrag festgelegte Mindestarbeitsspeichergrenze.
IoRateControlTolerance
Wenn der LimitFlags-MemberJOB_OBJECT_LIMIT_IO_RATE_CONTROL angibt, gibt dieses Element den Umfang an, in dem der Auftrag seine E/A-Ratensteuerungsgrenzwerte zum Zeitpunkt des Sendens der Benachrichtigung überschritten hat. Dieser Member kann einer der folgenden Werte sein.
IoRateControlToleranceLimit
Wenn der Parameter LimitFlagsJOB_OBJECT_LIMIT_IO_RATE_CONTROL angibt, enthält dieser Member die für den Auftrag angegebenen Grenzwerte für E/A-Ratensteuerungsbenachrichtigungen.
NetRateControlTolerance
Wenn das LimitFlags-ElementJOB_OBJECT_LIMIT_NET_RATE_CONTROL angibt, gibt dieses Element den Umfang an, in dem der Auftrag seine Grenzwerte für die Netzwerkratensteuerung zum Zeitpunkt des Sendens der Benachrichtigung überschritten hat. Dieser Member kann einer der folgenden Werte sein.
NetRateControlToleranceLimit
Wenn der Parameter LimitFlagsJOB_OBJECT_LIMIT_NETWORK_RATE_CONTROL angibt, enthält dieser Member die grenzwerte für die Netzwerkratensteuerung, die für den Auftrag angegeben sind.
Hinweise
Wenn ein in einer JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2-Struktur angegebenes Benachrichtigungslimit überschritten wird, sendet das System eine JOB_OBJECT_MSG_NOTIFICATION_LIMIT Nachricht an den E/A-Abschlussport, der dem Auftrag zugeordnet ist.
Um Informationen zu den überschrittenen Grenzwerten abzurufen, muss die Anwendung, die den E/A-Vervollständigungsport überwacht, die QueryInformationJobObject-Funktion mit der JobObjectLimitViolationInformation2-Informationsklasse und einem Zeiger auf eine JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 Struktur aufrufen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 10 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2016 [nur Desktop-Apps] |
Kopfzeile | winnt.h |