Partager via


Fonction SetInformationJobObject (jobapi2.h)

Définit des limites pour un objet de travail.

Syntaxe

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

Paramètres

[in] hJob

Handle du travail dont les limites sont définies. La fonction CreateJobObject ou OpenJobObject retourne ce handle. Le handle doit avoir le droit d’accès JOB_OBJECT_SET_ATTRIBUTES . Pour plus d’informations, consultez Sécurité des objets de travail et droits d’accès.

[in] JobObjectInformationClass

Classe d’informations pour les limites à définir. Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
JobObjectAssociateCompletionPortInformation
7
Le paramètre lpJobObjectInfo est un pointeur vers une structure JOBOBJECT_ASSOCIATE_COMPLETION_PORT .
JobObjectBasicLimitInformation
2
Le paramètre lpJobObjectInfo est un pointeur vers une structure JOBOBJECT_BASIC_LIMIT_INFORMATION .
JobObjectBasicUIRestrictions
4
Le paramètre lpJobObjectInfo est un pointeur vers une structure JOBOBJECT_BASIC_UI_RESTRICTIONS .
JobObjectCpuRateControlInformation
15
Le paramètre lpJobObjectInfo est un pointeur vers une structure JOBOBJECT_CPU_RATE_CONTROL_INFORMATION .

Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Cet indicateur n’est pas pris en charge.

Si la planification dynamique de partage équitable (DFSS) est activée, le taux d’utilisation du processeur ne peut pas être défini et SetInformationJobObject échoue avec le code d’erreur 50 (« La demande n’est pas prise en charge »).

JobObjectEndOfJobTimeInformation
6
Le paramètre lpJobObjectInfo est un pointeur vers une structure JOBOBJECT_END_OF_JOB_TIME_INFORMATION .
JobObjectExtendedLimitInformation
9
Le paramètre lpJobObjectInfo est un pointeur vers une structure JOBOBJECT_EXTENDED_LIMIT_INFORMATION .
JobObjectGroupInformation
11
Le paramètre lpJobObjectInfo est un pointeur vers une valeur USHORT qui spécifie la liste des groupes de processeurs auxquels attribuer le travail. Le paramètre cbJobObjectInfoLength est défini sur la taille des données du groupe. Divisez cette valeur par sizeof(USHORT) pour déterminer le nombre de groupes.

Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Cet indicateur n’est pas pris en charge.

JobObjectGroupInformationEx
14
Le paramètre lpJobObjectInfo est un pointeur vers une mémoire tampon qui contient un tableau de structures GROUP_AFFINITY qui spécifient l’affinité du travail pour les groupes de processeurs auxquels le travail est actuellement affecté. Le paramètre cbJobObjectInfoLength est défini sur la taille des données d’affinité de groupe. Divisez cette valeur par sizeof(GROUP_AFFINITY) pour déterminer le nombre de groupes.

Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Cet indicateur n’est pas pris en charge.

JobObjectLimitViolationInformation2
34
Le paramètre lpJobObjectInfo est un pointeur vers une structure JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 .

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 et Windows XP : cet indicateur n’est pas pris en charge.

JobObjectNetRateControlInformation
32
Le paramètre lpJobObjectInfo est un pointeur vers une structure JOBOBJECT_NET_RATE_CONTROL_INFORMATION .

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 et Windows XP : cet indicateur n’est pas pris en charge.

JobObjectNotificationLimitInformation
12
Le paramètre lpJobObjectInfo est un pointeur vers une structure JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION .

Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Cet indicateur n’est pas pris en charge.

JobObjectNotificationLimitInformation2
33
Le paramètre lpJobObjectInfo est un pointeur vers une structure JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2 .

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 et Windows XP : cet indicateur n’est pas pris en charge.

JobObjectSecurityLimitInformation
5
Cet indicateur n’est pas pris en charge. Les applications doivent définir des limitations de sécurité individuellement pour chaque processus.

Windows Server 2003 et Windows XP : Le paramètre lpJobObjectInfo est un pointeur vers une structure JOBOBJECT_SECURITY_LIMIT_INFORMATION . Le handle hJob doit avoir le droit d’accès JOB_OBJECT_SET_SECURITY_ATTRIBUTES associé.

[in] lpJobObjectInformation

Limites ou état du travail à définir pour le travail. Le format de ces données dépend de la valeur de JobObjectInfoClass.

[in] cbJobObjectInformationLength

Taille des informations de travail définies, en octets.

Valeur retournée

Si la fonction réussit, la valeur de retour est différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

Utilisez la fonction SetInformationJobObject pour définir plusieurs limites dans un seul appel. Pour établir les limites une par une ou modifier un sous-ensemble des limites, appelez la fonction QueryInformationJobObject pour obtenir les limites actuelles, modifiez ces limites, puis appelez SetInformationJobObject.

Vous devez définir des limites de sécurité individuellement pour chaque processus associé à un objet de travail, plutôt que de les définir pour l’objet de travail lui-même. Pour plus d’informations, consultez Droits d’accès et de sécurité des processus.

Windows Server 2003 et Windows XP : Utilisez la fonction SetInformationJobObject pour définir des limites de sécurité pour l’objet de travail.

Pour compiler une application qui utilise cette fonction, définissez _WIN32_WINNT comme 0x0500 ou version ultérieure. Pour plus d’informations, consultez Utilisation des en-têtes Windows.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête jobapi2.h (inclure Windows.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

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

Objets de travail

Droits d’accès et de sécurité des processus

Fonctions de processus et de thread

QueryInformationJobObject