SetInformationJobObject-Funktion (jobapi2.h)

Legt Grenzwerte für ein Auftragsobjekt fest.

Syntax

BOOL SetInformationJobObject(
  [in] HANDLE             hJob,
  [in] JOBOBJECTINFOCLASS JobObjectInformationClass,
  [in] LPVOID             lpJobObjectInformation,
  [in] DWORD              cbJobObjectInformationLength
);

Parameter

[in] hJob

Ein Handle für den Auftrag, dessen Grenzwerte festgelegt werden. Die CreateJobObject- oder OpenJobObject-Funktion gibt dieses Handle zurück. Das Handle muss über das zugriffsrecht JOB_OBJECT_SET_ATTRIBUTES verfügen. Weitere Informationen finden Sie unter Auftragsobjektsicherheit und Zugriffsrechte.

[in] JobObjectInformationClass

Die Informationsklasse für die festzulegenden Grenzwerte. Dieser Parameter kann einen der folgenden Werte annehmen.

Wert Bedeutung
JobObjectAssociateCompletionPortInformation
7
Der lpJobObjectInfo-Parameter ist ein Zeiger auf eine JOBOBJECT_ASSOCIATE_COMPLETION_PORT-Struktur .
JobObjectBasicLimitInformation
2
Der lpJobObjectInfo-Parameter ist ein Zeiger auf eine JOBOBJECT_BASIC_LIMIT_INFORMATION-Struktur .
JobObjectBasicUIRestrictions
4
Der lpJobObjectInfo-Parameter ist ein Zeiger auf eine JOBOBJECT_BASIC_UI_RESTRICTIONS-Struktur .
JobObjectCpuRateControlInformation
15
Der lpJobObjectInfo-Parameter ist ein Zeiger auf eine JOBOBJECT_CPU_RATE_CONTROL_INFORMATION-Struktur .

Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieses Flag wird nicht unterstützt.

Wenn dfsS (Dynamic Fair Share Scheduling) aktiviert ist, kann die CPU-Rate nicht festgelegt werden, und SetInformationJobObject schlägt mit dem Fehlercode 50 fehl ("Die Anforderung wird nicht unterstützt").

JobObjectEndOfJobTimeInformation
6
Der lpJobObjectInfo-Parameter ist ein Zeiger auf eine JOBOBJECT_END_OF_JOB_TIME_INFORMATION-Struktur .
JobObjectExtendedLimitInformation
9
Der lpJobObjectInfo-Parameter ist ein Zeiger auf eine JOBOBJECT_EXTENDED_LIMIT_INFORMATION-Struktur .
JobObjectGroupInformation
11
Der parameter lpJobObjectInfo ist ein Zeiger auf einen USHORT-Wert , der die Liste der Prozessorgruppen angibt, denen der Auftrag zugewiesen werden soll. Der parameter cbJobObjectInfoLength wird auf die Größe der Gruppendaten festgelegt. Dividieren Sie diesen Wert durch sizeof(USHORT) , um die Anzahl der Gruppen zu bestimmen.

Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieses Flag wird nicht unterstützt.

JobObjectGroupInformationEx
14
Der lpJobObjectInfo-Parameter ist ein Zeiger auf einen Puffer, der ein Array von GROUP_AFFINITY Strukturen enthält, die die Affinität des Auftrags für die Prozessorgruppen angeben, denen der Auftrag derzeit zugewiesen ist. Der parameter cbJobObjectInfoLength wird auf die Größe der Gruppenaffinitätsdaten festgelegt. Dividieren Sie diesen Wert durch sizeof(GROUP_AFFINITY) , um die Anzahl der Gruppen zu bestimmen.

Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieses Flag wird nicht unterstützt.

JobObjectLimitViolationInformation2
34
Der lpJobObjectInfo-Parameter ist ein Zeiger auf eine JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2-Struktur .

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieses Flag wird nicht unterstützt.

JobObjectNetRateControlInformation
32
Der lpJobObjectInfo-Parameter ist ein Zeiger auf eine JOBOBJECT_NET_RATE_CONTROL_INFORMATION-Struktur .

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieses Flag wird nicht unterstützt.

JobObjectNotificationLimitInformation
12
Der lpJobObjectInfo-Parameter ist ein Zeiger auf eine JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION-Struktur .

Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieses Flag wird nicht unterstützt.

JobObjectNotificationLimitInformation2
33
Der lpJobObjectInfo-Parameter ist ein Zeiger auf eine JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2-Struktur .

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieses Flag wird nicht unterstützt.

JobObjectSecurityLimitInformation
5
Dieses Flag wird nicht unterstützt. Anwendungen müssen Sicherheitsbeschränkungen für jeden Prozess einzeln festlegen.

Windows Server 2003 und Windows XP: Der lpJobObjectInfo-Parameter ist ein Zeiger auf eine JOBOBJECT_SECURITY_LIMIT_INFORMATION-Struktur . Dem hJob-Handle muss das JOB_OBJECT_SET_SECURITY_ATTRIBUTES-Zugriffsrecht zugeordnet sein.

[in] lpJobObjectInformation

Die Grenzwerte oder der Auftragszustand, der für den Auftrag festgelegt werden soll. Das Format dieser Daten hängt vom Wert von JobObjectInfoClass ab.

[in] cbJobObjectInformationLength

Die Größe der festzulegenden Auftragsinformationen in Bytes.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

Verwenden Sie die SetInformationJobObject-Funktion , um mehrere Grenzwerte in einem einzelnen Aufruf festzulegen. Um die Grenzwerte einzeln festzulegen oder eine Teilmenge der Grenzwerte zu ändern, rufen Sie die QueryInformationJobObject-Funktion auf, um die aktuellen Grenzwerte abzurufen, ändern Sie diese Grenzwerte, und rufen Sie dann SetInformationJobObject auf.

Sie müssen Sicherheitsgrenzwerte für jeden Prozess, der einem Auftragsobjekt zugeordnet ist, einzeln festlegen, anstatt sie für das Auftragsobjekt selbst festzulegen. Weitere Informationen finden Sie unter Prozesssicherheit und Zugriffsrechte.

Windows Server 2003 und Windows XP: Verwenden Sie die SetInformationJobObject-Funktion , um Sicherheitsgrenzwerte für das Auftragsobjekt festzulegen.

Um eine Anwendung zu kompilieren, die diese Funktion verwendet, definieren Sie _WIN32_WINNT als 0x0500 oder höher. Weitere Informationen finden Sie unter Verwenden der Windows-Header.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile jobapi2.h (windows.h einschließen)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

JOBOBJECT_ASSOCIATE_COMPLETION_PORT

JOBOBJECT_BASIC_LIMIT_INFORMATION

JOBOBJECT_BASIC_UI_RESTRICTIONS

JOBOBJECT_CPU_RATE_CONTROL_INFORMATION

JOBOBJECT_END_OF_JOB_TIME_INFORMATION

JOBOBJECT_EXTENDED_LIMIT_INFORMATION

JOBOBJECT_LIMIT_VIOLATION_INFORMATION

JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2

JOBOBJECT_NET_RATE_CONTROL_INFORMATION

JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION

JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2

JOBOBJECT_SECURITY_LIMIT_INFORMATION

Auftragsobjekte

Prozesssicherheit und Zugriffsrechte

Prozess- und Threadfunktionen

QueryInformationJobObject