Функция 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
Класс сведений для устанавливаемого ограничения. Этот параметр может принимать одно из указанных ниже значений.
Значение | Значение |
---|---|
|
Параметр lpJobObjectInfo является указателем на структуру JOBOBJECT_ASSOCIATE_COMPLETION_PORT . |
|
Параметр lpJobObjectInfo является указателем на структуру JOBOBJECT_BASIC_LIMIT_INFORMATION . |
|
Параметр lpJobObjectInfo является указателем на структуру JOBOBJECT_BASIC_UI_RESTRICTIONS . |
|
Параметр 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 ("Запрос не поддерживается"). |
|
Параметр lpJobObjectInfo является указателем на структуру JOBOBJECT_END_OF_JOB_TIME_INFORMATION . |
|
Параметр lpJobObjectInfo является указателем на структуру JOBOBJECT_EXTENDED_LIMIT_INFORMATION . |
|
Параметр lpJobObjectInfo является указателем на значение USHORT , указывающее список групп процессоров , которым нужно назначить задание. Параметру cbJobObjectInfoLength присваивается размер данных группы. Разделите это значение на sizeof(USHORT) , чтобы определить количество групп.
Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Этот флаг не поддерживается. |
|
Параметр lpJobObjectInfo является указателем на буфер, содержащий массив GROUP_AFFINITY структур, определяющих сходство задания для групп процессоров , которым назначено задание в данный момент. Параметру cbJobObjectInfoLength присваивается размер данных о сходстве группы. Разделите это значение на sizeof(GROUP_AFFINITY) , чтобы определить количество групп.
Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Этот флаг не поддерживается. |
|
Параметр 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: этот флаг не поддерживается. |
|
Параметр 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: этот флаг не поддерживается. |
|
Параметр lpJobObjectInfo является указателем на структуру JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION .
Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Этот флаг не поддерживается. |
|
Параметр 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: этот флаг не поддерживается. |
|
Этот флаг не поддерживается. Приложения должны устанавливать ограничения безопасности отдельно для каждого процесса.
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