Freigeben über


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.

Wert Bedeutung
JOB_OBJECT_LIMIT_JOB_MEMORY_HIGH
0x00000200
Für den Auftrag gilt ein Grenzwert für Benachrichtigungen für den gebundenen Arbeitsspeicher. Das Element JobHighMemoryLimit enthält weitere Informationen.
JOB_OBJECT_LIMIT_JOB_MEMORY_LOW
0x00008000
Der Auftrag verfügt über ein Festgelegtes Mindestlimit für Arbeitsspeicherbenachrichtigungen. Das Element JobLowMemoryLimit enthält weitere Informationen.
JOB_OBJECT_LIMIT_JOB_READ_BYTES
0x00010000
Der Auftrag verfügt über ein E/A-Benachrichtigungslimit für Lesebytes. Das IoReadBytesLimit-Element enthält weitere Informationen.
JOB_OBJECT_LIMIT_JOB_WRITE_BYTES
0x00020000
Der Auftrag verfügt über ein Benachrichtigungslimit für E/A-Schreibbytes. Das IoWriteBytesLimit-Element enthält weitere Informationen.
JOB_OBJECT_LIMIT_JOB_TIME
0x00000004
Der Auftrag verfügt über eine Begrenzung der Ausführungszeit für Benachrichtigungen im Benutzermodus. Das PerJobUserTimeLimit-Element enthält weitere Informationen.
JOB_OBJECT_LIMIT_RATE_CONTROL
0x00040000
Der Auftrag verfügt über ein Benachrichtigungslimit für den Umfang, in dem ein Auftrag sein CPU-Ratensteuerungslimit überschreiten kann. Das RateControlToleranceLimit-Element enthält weitere Informationen.
JOB_OBJECT_LIMIT_CPU_RATE_CONTROL
0x00040000
Der Auftrag verfügt über ein Benachrichtigungslimit für den Umfang, in dem ein Auftrag sein CPU-Ratensteuerungslimit überschreiten kann. Das Element CpuRateControlToleranceLimit enthält weitere Informationen.
JOB_OBJECT_LIMIT_IO_RATE_CONTROL
0x00080000
Der Auftrag verfügt über ein Benachrichtigungslimit für den Umfang, in dem ein Auftrag sein E/A-Ratensteuerungslimit überschreiten kann. Das Element IoRateControlToleranceLimit enthält weitere Informationen.
JOB_OBJECT_LIMIT_NET_RATE_CONTROL
0x00100000
Der Auftrag verfügt über ein Benachrichtigungslimit für den Umfang, in dem ein Auftrag seine Netzwerkratensteuerungsgrenze überschreiten kann. Das NetRateControlToleranceLimit-Element enthält weitere Informationen.

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.

Wert Bedeutung
JOB_OBJECT_LIMIT_JOB_READ_BYTES
0x00010000
Das Benachrichtigungslimit für E/A-Lesebytes des Auftrags wurde überschritten. Das IoReadBytes-Element enthält weitere Informationen.
JOB_OBJECT_LIMIT_JOB_WRITE_BYTES
0x00020000
Das Benachrichtigungslimit für E/A-Schreibbytes des Auftrags wurde überschritten. Das IoWriteBytes-Element enthält weitere Informationen.
JOB_OBJECT_LIMIT_JOB_TIME
0x00000004
Das Benachrichtigungslimit für die Ausführungszeit des Auftrags im Benutzermodus wurde überschritten. Das PerJobUserTime-Element enthält weitere Informationen.
JOB_OBJECT_LIMIT_JOB_MEMORY_HIGH
0x00000200
Das maximale Speicherbenachrichtigungslimit des Auftrags wurde überschritten. Das JobMemory-Element enthält weitere Informationen.
JOB_OBJECT_LIMIT_JOB_MEMORY_LOW
0x00008000
Der zugesagte Arbeitsspeicher des Auftrags ist unter das Mindestbenachrichtigungslimit gefallen. Das JobMemory-Element enthält weitere Informationen.
JOB_OBJECT_LIMIT_RATE_CONTROL
0x00040000
Das Limit für die CPU-Ratensteuerung des Auftrags wurde überschritten. Das RateControlTolerance-Element enthält weitere Informationen.
JOB_OBJECT_LIMIT_CPU_RATE_CONTROL
0x00040000
Das Limit für die CPU-Ratensteuerung des Auftrags wurde überschritten. Das Member CpuRateControlTolerance enthält weitere Informationen.
JOB_OBJECT_LIMIT_IO_RATE_CONTROL
0x00080000
Das E/A-Ratensteuerungslimit des Auftrags wurde überschritten. Das Element IoRateControlTolerance enthält weitere Informationen.
JOB_OBJECT_LIMIT_NET_RATE_CONTROL
0x00100000
Das Limit für die Netzwerkratensteuerung des Auftrags wurde überschritten. Das NetworkRateControlTolerance-Element enthält weitere Informationen.

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.

Wert Bedeutung
ToleranceLow
1
Der Auftrag hat seine GRENZWERTE für die CPU-Ratensteuerung für 20 % des Toleranzintervalls überschritten.
ToleranceMedium
2
Der Auftrag hat seine Grenzwerte für die CPU-Ratensteuerung für 40 % des Toleranzintervalls überschritten.
ToleranceHigh
3
Der Auftrag hat seine GRENZWERTE für die CPU-Ratensteuerung für 60 % des Toleranzintervalls überschritten.

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.

Wert Bedeutung
ToleranceLow
1
Der Auftrag hat seine GRENZWERTE für die CPU-Ratensteuerung für 20 % des Toleranzintervalls überschritten.
ToleranceMedium
2
Der Auftrag hat seine Grenzwerte für die CPU-Ratensteuerung für 40 % des Toleranzintervalls überschritten.
ToleranceHigh
3
Der Auftrag hat seine GRENZWERTE für die CPU-Ratensteuerung für 60 % des Toleranzintervalls überschritten.

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.

Wert Bedeutung
ToleranceLow
1
Der Auftrag kann seine Grenzwerte für die CPU-Ratensteuerung für 20 % des Toleranzintervalls überschreiten.
ToleranceMedium
2
Der Auftrag kann seine Grenzwerte für die CPU-Ratensteuerung für 40 % des Toleranzintervalls überschreiten.
ToleranceHigh
3
Der Auftrag kann seine Grenzwerte für die CPU-Ratensteuerung für 60 % des Toleranzintervalls überschreiten.

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.

Wert Bedeutung
ToleranceLow
1
Der Auftrag kann seine Grenzwerte für die CPU-Ratensteuerung für 20 % des Toleranzintervalls überschreiten.
ToleranceMedium
2
Der Auftrag kann seine Grenzwerte für die CPU-Ratensteuerung für 40 % des Toleranzintervalls überschreiten.
ToleranceHigh
3
Der Auftrag kann seine Grenzwerte für die CPU-Ratensteuerung für 60 % des Toleranzintervalls überschreiten.

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.

Wert Bedeutung
ToleranceLow
1
Der Auftrag hat seine E/A-Ratensteuerungsgrenzwerte für 20 % des Toleranzintervalls überschritten.
ToleranceMedium
2
Der Auftrag hat seine E/A-Ratensteuerungsgrenzwerte für 40 % des Toleranzintervalls überschritten.
ToleranceHigh
3
Der Auftrag hat seine E/A-Ratensteuerungsgrenzwerte für 60 % des Toleranzintervalls überschritten.

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.

Wert Bedeutung
ToleranceLow
1
Der Auftrag kann seine E/A-Ratensteuerungsgrenzwerte für 20 % des Toleranzintervalls überschreiten.
ToleranceMedium
2
Der Auftrag kann seine E/A-Ratensteuerungsgrenzwerte für 40 % des Toleranzintervalls überschreiten.
ToleranceHigh
3
Der Auftrag kann seine E/A-Ratensteuerungsgrenzwerte für 60 % des Toleranzintervalls überschreiten.

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.

Wert Bedeutung
ToleranceLow
1
Der Auftrag hat seine Grenzwerte für die Netzwerkratensteuerung für 20 % des Toleranzintervalls überschritten.
ToleranceMedium
2
Der Auftrag hat seine Grenzwerte für die Netzwerkratensteuerung für 40 % des Toleranzintervalls überschritten.
ToleranceHigh
3
Der Auftrag hat seine Grenzwerte für die Netzwerkratensteuerung für 60 % des Toleranzintervalls überschritten.

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.

Wert Bedeutung
ToleranceLow
1
Der Auftrag kann seine Grenzwerte für die Netzwerkratensteuerung für 20 % des Toleranzintervalls überschreiten.
ToleranceMedium
2
Der Auftrag kann seine Grenzwerte für die Netzwerkratensteuerung für 40 % des Toleranzintervalls überschreiten.
ToleranceHigh
3
Der Auftrag kann seine Grenzwerte für die Netzwerkratensteuerung für 60 % des Toleranzintervalls überschreiten.

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

Weitere Informationen

JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2

QueryInformationJobObject

SetInformationJobObject