다음을 통해 공유


KeQueryActiveProcessorCountEx 함수(ntddk.h)

KeQueryActiveProcessorCountEx 루틴은 다중 프로세서 시스템 또는 전체 시스템의 지정된 그룹에 있는 활성 논리 프로세서 수를 반환합니다.

구문

ULONG KeQueryActiveProcessorCountEx(
  [in] USHORT GroupNumber
);

매개 변수

[in] GroupNumber

그룹 번호입니다. 다중 프로세서 시스템에 n 그룹이 포함된 경우 유효한 그룹 번호 범위는 0에서 n-1까지입니다. 시스템의 모든 그룹에 있는 모든 활성 프로세서를 계산하려면 이 매개 변수를 헤더 파일 Winnt.h 및 Ntdef.h에 정의된 ALL_PROCESSOR_GROUPS 설정합니다.

반환 값

KeQueryActiveProcessorCountEx 는 그룹의 활성 논리 프로세서 수를 반환합니다. GroupNumber가 유효한 그룹 번호가 아니고 ALL_PROCESSOR_GROUPS 않으면 0을 반환합니다.

설명

활성 논리 프로세서는 Windows가 시작되어 다중 프로세서 시스템에 추가된 논리 프로세서입니다. 활성 프로세서라는 용어는 프로세서가 현재 처리 작업을 수행하고 있는지 유휴 상태인지에 관계없이 처리 작업을 수행할 수 있는 프로세서에 적용됩니다. 일부 시스템에서는 활성 프로세서 수가 시스템 시작에서 종료까지 변경되지 않을 수 있습니다. 다른 시스템에서는 시스템이 실행되는 동안 Windows에서 활성 프로세서를 동적으로 추가할 수 있습니다. Windows는 시스템에서 활성 프로세서를 제거하지 않습니다. 따라서 다중 프로세서 시스템의 활성 프로세서 수는 시스템 시작과 종료 사이에 증가할 수 있지만 이 수는 결코 감소하지 않습니다.

관련 루틴인 KeQueryActiveProcessorCount는 활성 프로세서 수를 반환하지만 이 루틴은 KeQueryActiveProcessorCountEx와 달리 그룹 번호를 입력 매개 변수로 허용하지 않습니다. Windows 운영 체제의 Windows 7 이상 버전에서 KeQueryActiveProcessorCount 는 그룹을 지원하지 않는 이전 버전의 Windows에서 이 루틴의 동작과 호환되는 그룹 0의 활성 프로세서 수를 반환합니다. 이 동작은 KeQueryActiveProcessorCount 를 호출하고 그룹 지향 기능을 사용하지 않는 기존 드라이버가 둘 이상의 그룹이 있는 다중 프로세서 시스템에서 올바르게 실행되도록 합니다. 그러나 Windows 7 이상 버전의 Windows 운영 체제에서 그룹 지향 기능을 사용하는 드라이버는 KeQueryActiveProcessorCount 대신 KeQueryActiveProcessorCountEx를 호출해야 합니다.

KeQueryActiveProcessorCountEx를 사용하는 코드 예제는 KeGetProcessorNumberFromIndex를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7 및 이후 버전의 Windows에서 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 ntddk.h(Ntddk.h, Wdm.h, Ntddk.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 모든 수준

추가 정보

KeGetProcessorNumberFromIndex

KeQueryActiveProcessorCount