QueryInformationJobObject 函数 (jobapi2.h)

从作业对象检索限制和作业状态信息。

语法

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

parameters

[in, optional] hJob

正在查询其信息的作业的句柄。 CreateJobObjectOpenJobObject 函数返回此句柄。 句柄必须具有 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
标头 jobapi2.h (包括 Windows.h)
Library 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