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


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

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

Синтаксис

BOOL QueryInformationJobObject(
  [in, optional]  HANDLE             hJob,
  [in]            JOBOBJECTINFOCLASS JobObjectInformationClass,
  [out]           LPVOID             lpJobObjectInformation,
  [in]            DWORD              cbJobObjectInformationLength,
  [out, optional] LPDWORD            lpReturnLength
);

Параметры

[in, optional] hJob

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

Если это значение равно NULL и вызывающий процесс связан с заданием, используется задание, связанное с вызывающим процессом. Если задание является вложенным, используется немедленное задание вызывающего процесса.

[in] JobObjectInformationClass

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

Значение Значение
JobObjectBasicAccountingInformation
1
Параметр lpJobObjectInfo является указателем на структуру JOBOBJECT_BASIC_ACCOUNTING_INFORMATION .
JobObjectBasicAndIoAccountingInformation
8
Параметр lpJobObjectInfo является указателем на структуру JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION .
JobObjectBasicLimitInformation
2
Параметр lpJobObjectInfo является указателем на структуру JOBOBJECT_BASIC_LIMIT_INFORMATION .
JobObjectBasicProcessIdList
3
Параметр lpJobObjectInfo является указателем на структуру JOBOBJECT_BASIC_PROCESS_ID_LIST .
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: Этот флаг не поддерживается.

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

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

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

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

JobObjectLimitViolationInformation
13
Параметр lpJobObjectInfo является указателем на структуру JOBOBJECT_LIMIT_VIOLATION_INFORMATION .

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 .

[out] lpJobObjectInformation

Сведения об ограничении или состоянии задания. Формат этих данных зависит от значения параметра JobObjectInfoClass .

[in] cbJobObjectInformationLength

Количество запрашиваемых сведений о задании в байтах. Это значение зависит от значения параметра JobObjectInfoClass .

[out, optional] lpReturnLength

Указатель на переменную, которая получает длину данных, записанных в структуру, на которую указывает параметр lpJobObjectInfo . Укажите значение NULL , чтобы не получать эти сведения.

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

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

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

Комментарии

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

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

Требования

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

См. также

JOBOBJECT_BASIC_ACCOUNTING_INFORMATION

JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION

JOBOBJECT_BASIC_LIMIT_INFORMATION

JOBOBJECT_BASIC_PROCESS_ID_LIST

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

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

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

SetInformationJobObject