관리 메뉴

ㄴrㅎnㅂrㄹrㄱi

SetPriorityClass 본문

API 관련/Win32 API 함수

SetPriorityClass

님투 2007. 11. 8. 23:26
반응형

SetPriorityClass

지정된 프로세스의 우선도 클래스를 설정합니다.

BOOL SetPriorityClass(
    HANDLE hProcess,     // 프로세스 핸들
    DWORD  fdwPriority   // 우선도 클래스
);

KERNEL32.DLL

인수

hProcess

우선도를 변경하는 프로세스의 핸들을 지정합니다.

Windows NT/2000/XP: 이 핸들은 PROCESS_SET_INFORMATION 액세스를 가지고 있지 않으면 안됩니다.

fdwPriority

프로세스의 우선도 클래스를 지정합니다.이하의 값의 어느쪽이든을 지정합니다.

의미
0x00000020 (NORMAL_PRIORITY_CLASS) 통상 클래스

특별한 스케줄링을 필요로 하지 않는, 일반적인 프로세스인 것을 지정합니다.

0x00000040 (IDLE_PRIORITY_CLASS) 아이돌 클래스

시스템이 아이돌 상태 때에만 스렛드를 실행하는 프로세스인 것을 지정합니다.아이돌 클래스의 우선권은 child process에 인계됩니다.

0x00000080 (HIGH_PRIORITY_CLASS) 우선 클래스

빨리 실행되지 않으면 안 되는 타임 위기인 태스크를 실행하는 프로세스인 것을 지정합니다.이 우선도 클래스의 프로세스에 속하는 스렛드는, 통상 클래스나 아이돌 클래스의 프로세스에 속하는 스렛드의 것보다 우선해 실행됩니다.이 클래스의 어플리케이션은 거의 모든 CPU 빈 시간을 점유 가능해지기 위해, 이 클래스를 설정하는 경우는 충분히 주의할 필요가 있습니다.

0x00000100 (REALTIME_PRIORITY_CLASS) 리얼타임 클래스

가장 높은 우선 순위 클래스를 가지는 프로세스인 것을 지정합니다.이 우선도 클래스의 프로세스에 속하는 스렛드는, 다른 모든 프로세스(시스템의 중요한 태스크를 실행한다OS 의 프로세스도 포함한다)에 속하는 스렛드의 것보다 우선해 실행됩니다.

0x00004000 (BELOW_NORMAL_PRIORITY_CLASS)

Windows 2000/XP: IDLE_PRIORITY_CLASS 이상으로 NORMAL_PRIORITY_CLASS 이하의 우선도를 가지는 것을 나타냅니다.

0x00008000 (ABOVE_NORMAL_PRIORITY_CLASS)

Windows 2000/XP: NORMAL_PRIORITY_CLASS 이상으로 HIGH_PRIORITY_CLASS 이하의 우선도를 가지는 것을 나타냅니다.

반환값

성공하면 0 이외의 값이 돌아갑니다.

실패하면 0 하지만 돌아갑니다.확장 에러 정보를 취득하려면 , GetLastError 함수를 사용합니다.

해설

각각의 스렛드는, 프로세스의 우선도 클래스와 스렛드의 상대 우선도로부터 결정되는 기본 우선도를 가집니다.시스템은, 어느 스렛드에 다음의 CPU 의 타임 슬라이스를 줄까를 결정하는데, 모든 실행 가능 스렛드의 기본 우선도를 사용합니다.스렛드의 상대 우선도는 SetThreadPriority 함수로 지정합니다.

대응 정보

Windows 95 이후 / Windows NT 3.1 이후

반응형

'API 관련 > Win32 API 함수' 카테고리의 다른 글

SetWindowLong(A)  (0) 2007.11.08
SetThreadPriority  (0) 2007.11.08
SetParent  (0) 2007.11.08
SetMenuItemInfo(A)  (0) 2007.11.08
SetMenu  (0) 2007.11.08
Comments