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
正在查询其信息的作业的句柄。 CreateJobObject 或 OpenJobObject 函数返回此句柄。 句柄必须具有 JOB_OBJECT_QUERY 访问权限。 有关详细信息,请参阅 作业对象安全性和访问权限。
如果此值为 NULL 且调用进程与作业相关联,则使用与调用进程关联的作业。 如果作业是嵌套的,则使用调用进程的即时作业。
[in] JobObjectInformationClass
要查询的限制的信息类。 此参数的取值可为下列值之一:
值 | 含义 |
---|---|
|
lpJobObjectInfo 参数是指向JOBOBJECT_BASIC_ACCOUNTING_INFORMATION结构的指针。 |
|
lpJobObjectInfo 参数是指向JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION结构的指针。 |
|
lpJobObjectInfo 参数是指向JOBOBJECT_BASIC_LIMIT_INFORMATION结构的指针。 |
|
lpJobObjectInfo 参数是指向JOBOBJECT_BASIC_PROCESS_ID_LIST结构的指针。 |
|
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: 不支持此标志。 |
|
lpJobObjectInfo 参数是指向JOBOBJECT_END_OF_JOB_TIME_INFORMATION结构的指针。 |
|
lpJobObjectInfo 参数是指向JOBOBJECT_EXTENDED_LIMIT_INFORMATION结构的指针。 |
|
lpJobObjectInfo 参数是指向接收作业当前分配到的处理器组列表的缓冲区的指针。 lpReturnLength 参数指向的变量设置为组数据的大小。 将此值除以 sizeof(USHORT) 可确定组数。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 不支持此标志。 |
|
lpJobObjectInfo 参数是指向缓冲区的指针,该缓冲区接收GROUP_AFFINITY结构数组,这些结构指示作业当前分配到的处理器组中作业的相关性。 lpReturnLength 参数指向的变量设置为组相关性数据的大小。 将此值除以 sizeof(GROUP_AFFINITY) 可确定组数。
Windows 7、Windows Server 2008 R2、Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 不支持此标志。 |
|
lpJobObjectInfo 参数是指向JOBOBJECT_LIMIT_VIOLATION_INFORMATION结构的指针。
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结构的指针。 |
[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