Поделиться через


Функция SetInformationJobObject (jobapi2.h)

Задает ограничения для объекта задания.

Синтаксис

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

Параметры

[in] hJob

Дескриптор задания, ограничения которого устанавливаются. Функция CreateJobObject или OpenJobObject возвращает этот дескриптор. Дескриптор должен иметь право доступа к JOB_OBJECT_SET_ATTRIBUTES . Дополнительные сведения см. в разделе Безопасность объекта задания и права доступа.

[in] JobObjectInformationClass

Класс сведений для устанавливаемого ограничения. Этот параметр может принимать одно из указанных ниже значений.

Значение Значение
JobObjectAssociateCompletionPortInformation
7
Параметр lpJobObjectInfo является указателем на структуру JOBOBJECT_ASSOCIATE_COMPLETION_PORT .
JobObjectBasicLimitInformation
2
Параметр lpJobObjectInfo является указателем на структуру JOBOBJECT_BASIC_LIMIT_INFORMATION .
JobObjectBasicUIRestrictions
4
Параметр lpJobObjectInfo является указателем на структуру JOBOBJECT_BASIC_UI_RESTRICTIONS .
JobObjectCpuRateControlInformation
15
Параметр lpJobObjectInfo является указателем на структуру JOBOBJECT_CPU_RATE_CONTROL_INFORMATION .

Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Этот флаг не поддерживается.

Если динамическое планирование общей общей папки (DFSS) включено, невозможно задать частоту ЦП, и SetInformationJobObject завершится ошибкой с кодом 50 ("Запрос не поддерживается").

JobObjectEndOfJobTimeInformation
6
Параметр lpJobObjectInfo является указателем на структуру JOBOBJECT_END_OF_JOB_TIME_INFORMATION .
JobObjectExtendedLimitInformation
9
Параметр lpJobObjectInfo является указателем на структуру JOBOBJECT_EXTENDED_LIMIT_INFORMATION .
JobObjectGroupInformation
11
Параметр lpJobObjectInfo является указателем на значение USHORT , указывающее список групп процессоров , которым нужно назначить задание. Параметру cbJobObjectInfoLength присваивается размер данных группы. Разделите это значение на sizeof(USHORT) , чтобы определить количество групп.

Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Этот флаг не поддерживается.

JobObjectGroupInformationEx
14
Параметр lpJobObjectInfo является указателем на буфер, содержащий массив GROUP_AFFINITY структур, определяющих сходство задания для групп процессоров , которым назначено задание в данный момент. Параметру cbJobObjectInfoLength присваивается размер данных о сходстве группы. Разделите это значение на sizeof(GROUP_AFFINITY) , чтобы определить количество групп.

Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Этот флаг не поддерживается.

JobObjectLimitViolationInformation2
34
Параметр lpJobObjectInfo является указателем на структуру 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 и Windows XP: этот флаг не поддерживается.

JobObjectNetRateControlInformation
32
Параметр lpJobObjectInfo является указателем на структуру 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 и Windows XP: этот флаг не поддерживается.

JobObjectNotificationLimitInformation
12
Параметр lpJobObjectInfo является указателем на структуру JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION .

Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Этот флаг не поддерживается.

JobObjectNotificationLimitInformation2
33
Параметр lpJobObjectInfo является указателем на структуру 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 и Windows XP: этот флаг не поддерживается.

JobObjectSecurityLimitInformation
5
Этот флаг не поддерживается. Приложения должны устанавливать ограничения безопасности отдельно для каждого процесса.

Windows Server 2003 и Windows XP: Параметр lpJobObjectInfo является указателем на структуру JOBOBJECT_SECURITY_LIMIT_INFORMATION . Дескриптор hJob должен иметь право доступа JOB_OBJECT_SET_SECURITY_ATTRIBUTES , связанное с ним.

[in] lpJobObjectInformation

Ограничения или состояние задания, устанавливаемого для задания. Формат этих данных зависит от значения JobObjectInfoClass.

[in] cbJobObjectInformationLength

Размер устанавливаемой информации о задании в байтах.

Возвращаемое значение

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Используйте функцию SetInformationJobObject , чтобы задать несколько ограничений в одном вызове. Чтобы установить ограничения по одному или изменить подмножество ограничений, вызовите функцию QueryInformationJobObject , чтобы получить текущие ограничения, измените эти ограничения, а затем вызовите SetInformationJobObject.

Ограничения безопасности необходимо устанавливать отдельно для каждого процесса, связанного с объектом задания, а не для самого объекта задания. Дополнительные сведения см. в разделе Управление правами на доступ и безопасность процесса.

Windows Server 2003 и Windows XP: Используйте функцию SetInformationJobObject , чтобы задать ограничения безопасности для объекта задания.

Чтобы скомпилировать приложение, использующее эту функцию, определите _WIN32_WINNT как 0x0500 или более поздней версии. Дополнительные сведения см. в разделе Использование заголовков Windows.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header jobapi2.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

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

Объекты заданий

Безопасность процесса и права доступа

Функции процессов и потоков

QueryInformationJobObject