SetInformationJobObject 函数 (jobapi2.h)

设置作业对象的限制。

语法

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

参数

[in] hJob

正在设置其限制的作业的句柄。 CreateJobObjectOpenJobObject 函数返回此句柄。 句柄必须具有 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) ,则无法设置 CPU 速率,并且 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
标头 jobapi2.h (包括 Windows.h)
Library 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