Condividi tramite


Funzione SetInformationJobObject (jobapi2.h)

Imposta i limiti per un oggetto processo.

Sintassi

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

Parametri

[in] hJob

Handle per il processo i cui limiti vengono impostati. La funzione CreateJobObject o OpenJobObject restituisce questo handle. L'handle deve avere il diritto di accesso JOB_OBJECT_SET_ATTRIBUTES . Per altre informazioni, vedere Sicurezza oggetti processo e diritti di accesso.

[in] JobObjectInformationClass

Classe di informazioni per i limiti da impostare. Questo parametro può avere uno dei valori seguenti.

Valore Significato
JobObjectAssociateCompletionPortInformation
7
Il parametro lpJobObjectInfo è un puntatore a una struttura JOBOBJECT_ASSOCIATE_COMPLETION_PORT .
JobObjectBasicLimitInformation
2
Il parametro lpJobObjectInfo è un puntatore a una struttura JOBOBJECT_BASIC_LIMIT_INFORMATION .
JobObjectBasicUIRestrictions
4
Il parametro lpJobObjectInfo è un puntatore a una struttura JOBOBJECT_BASIC_UI_RESTRICTIONS .
JobObjectCpuRateControlInformation
15
Il parametro lpJobObjectInfo è un puntatore a una struttura JOBOBJECT_CPU_RATE_CONTROL_INFORMATION .

Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo flag non è supportato.

Se la pianificazione della condivisione equa dinamica (DFSS) è abilitata, la frequenza della CPU non può essere impostata e SetInformationJobObject avrà esito negativo con il codice di errore 50 ("La richiesta non è supportata").

JobObjectEndOfJobTimeInformation
6
Il parametro lpJobObjectInfo è un puntatore a una struttura JOBOBJECT_END_OF_JOB_TIME_INFORMATION .
JobObjectExtendedLimitInformation
9
Il parametro lpJobObjectInfo è un puntatore a una struttura JOBOBJECT_EXTENDED_LIMIT_INFORMATION .
JobObjectGroupInformation
11
Il parametro lpJobObjectInfo è un puntatore a un valore USHORT che specifica l'elenco dei gruppi di processori a cui assegnare il processo. Il parametro cbJobObjectInfoLength è impostato sulle dimensioni dei dati del gruppo. Dividere questo valore per sizeof(USHORT) determinare il numero di gruppi.

Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo flag non è supportato.

JobObjectGroupInformationEx
14
Il parametro lpJobObjectInfo è un puntatore a un buffer che contiene una matrice di strutture GROUP_AFFINITY che specificano l'affinità del processo per i gruppi di processori a cui è attualmente assegnato il processo. Il parametro cbJobObjectInfoLength è impostato sulle dimensioni dei dati di affinità del gruppo. Dividere questo valore per sizeof(GROUP_AFFINITY) determinare il numero di gruppi.

Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo flag non è supportato.

JobObjectLimitViolationInformation2
34
Il parametro lpJobObjectInfo è un puntatore a una struttura 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 e Windows XP: questo flag non è supportato.

JobObjectNetRateControlInformation
32
Il parametro lpJobObjectInfo è un puntatore a una struttura 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 e Windows XP: questo flag non è supportato.

JobObjectNotificationLimitInformation
12
Il parametro lpJobObjectInfo è un puntatore a una struttura JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION .

Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo flag non è supportato.

JobObjectNotificationLimitInformation2
33
Il parametro lpJobObjectInfo è un puntatore a una struttura 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 e Windows XP: questo flag non è supportato.

JobObjectSecurityLimitInformation
5
Questo flag non è supportato. Le applicazioni devono impostare le limitazioni di sicurezza singolarmente per ogni processo.

Windows Server 2003 e Windows XP: Il parametro lpJobObjectInfo è un puntatore a una struttura JOBOBJECT_SECURITY_LIMIT_INFORMATION . L'handle hJob deve avere il diritto di accesso JOB_OBJECT_SET_SECURITY_ATTRIBUTES associato.

[in] lpJobObjectInformation

Limite o stato del processo da impostare per il processo. Il formato di questi dati dipende dal valore di JobObjectInfoClass.

[in] cbJobObjectInformationLength

Dimensioni delle informazioni sul processo impostate, in byte.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

Usare la funzione SetInformationJobObject per impostare diversi limiti in una singola chiamata. Per stabilire i limiti uno alla volta o modificare un subset dei limiti, chiamare la funzione QueryInformationJobObject per ottenere i limiti correnti, modificare questi limiti e quindi chiamare SetInformationJobObject.

È necessario impostare i limiti di sicurezza singolarmente per ogni processo associato a un oggetto processo anziché impostarli per l'oggetto processo stesso. Per informazioni, vedere Elaborare i diritti di sicurezza e accesso.

Windows Server 2003 e Windows XP: Usare la funzione SetInformationJobObject per impostare limiti di sicurezza per l'oggetto processo.

Per compilare un'applicazione che usa questa funzione, definire _WIN32_WINNT come 0x0500 o versioni successive. Per altre informazioni, vedere Uso delle intestazioni di Windows.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione jobapi2.h (includere Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

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

Oggetti processo

Elaborare diritti di sicurezza e accesso

Funzioni di processi e thread

QueryInformationJobObject