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 |
---|---|
|
Le paramètre lpJobObjectInfo est un pointeur vers une structure JOBOBJECT_ASSOCIATE_COMPLETION_PORT . |
|
Le paramètre lpJobObjectInfo est un pointeur vers une structure JOBOBJECT_BASIC_LIMIT_INFORMATION . |
|
Le paramètre lpJobObjectInfo est un pointeur vers une structure JOBOBJECT_BASIC_UI_RESTRICTIONS . |
|
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 »). |
|
Le paramètre lpJobObjectInfo est un pointeur vers une structure JOBOBJECT_END_OF_JOB_TIME_INFORMATION . |
|
Le paramètre lpJobObjectInfo est un pointeur vers une structure JOBOBJECT_EXTENDED_LIMIT_INFORMATION . |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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
Droits d’accès et de sécurité des processus