Share via


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

설정할 제한에 대한 정보 클래스입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
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(Dynamic Fair Share Scheduling)를 사용하도록 설정하면 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

설정되는 작업 정보의 크기(바이트)입니다.

반환 값

함수가 성공하면 반환 값이 0이 아닙니다.

함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

SetInformationJobObject 함수를 사용하여 단일 호출에서 여러 제한을 설정합니다. 한 번에 하나씩 제한을 설정하거나 제한의 하위 집합을 변경하려면 QueryInformationJobObject 함수를 호출하여 현재 제한을 가져오고, 이러한 제한을 수정한 다음, SetInformationJobObject를 호출합니다.

작업 개체 자체에 대해 설정하는 대신 작업 개체와 연결된 각 프로세스에 대해 개별적으로 보안 제한을 설정해야 합니다. 자세한 내용은 프로세스 보안 및 액세스 권한을 참조하세요.

Windows Server 2003 및 Windows XP: SetInformationJobObject 함수를 사용하여 작업 개체에 대한 보안 제한을 설정합니다.

이 함수를 사용하는 애플리케이션을 컴파일하려면 _WIN32_WINNT 0x0500 이상으로 정의합니다. 자세한 내용은 Windows 헤더 사용을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 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

작업 개체

프로세스 보안 및 액세스 권한

프로세스 및 스레드 함수

QueryInformationJobObject