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
설정할 제한에 대한 정보 클래스입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
lpJobObjectInfo 매개 변수는 JOBOBJECT_ASSOCIATE_COMPLETION_PORT 구조체에 대한 포인터입니다. |
|
lpJobObjectInfo 매개 변수는 JOBOBJECT_BASIC_LIMIT_INFORMATION 구조체에 대한 포인터입니다. |
|
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: 이 플래그는 지원되지 않습니다. DFSS(Dynamic Fair Share Scheduling)를 사용하도록 설정하면 CPU 속도를 설정할 수 없으며 SetInformationJobObject가 오류 코드 50("요청이 지원되지 않음")으로 실패합니다. |
|
lpJobObjectInfo 매개 변수는 JOBOBJECT_END_OF_JOB_TIME_INFORMATION 구조체에 대한 포인터입니다. |
|
lpJobObjectInfo 매개 변수는 JOBOBJECT_EXTENDED_LIMIT_INFORMATION 구조체에 대한 포인터입니다. |
|
lpJobObjectInfo 매개 변수는 작업을 할당할 프로세서 그룹 목록을 지정하는 USHORT 값에 대한 포인터입니다. cbJobObjectInfoLength 매개 변수는 그룹 데이터의 크기로 설정됩니다. 그룹 수를 확인하려면 이 값을 로 sizeof(USHORT) 나눕니다.
Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 플래그는 지원되지 않습니다. |
|
lpJobObjectInfo 매개 변수는 작업이 현재 할당된 프로세서 그룹에 대한 작업의 선호도를 지정하는 GROUP_AFFINITY 구조의 배열을 포함하는 버퍼에 대한 포인터입니다. cbJobObjectInfoLength 매개 변수는 그룹 선호도 데이터의 크기로 설정됩니다. 그룹 수를 확인하려면 이 값을 로 sizeof(GROUP_AFFINITY) 나눕니다.
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 구조체에 대한 포인터입니다. 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