다음을 통해 공유


KeQueryActiveProcessorCount 함수(ntddk.h)

KeQueryActiveProcessorCount 루틴은 현재 활성 프로세서 수를 반환합니다.

구문

ULONG KeQueryActiveProcessorCount(
  [out, optional] PKAFFINITY ActiveProcessors
);

매개 변수

[out, optional] ActiveProcessors

루틴이 현재 활성 프로세서 집합을 나타내는 비트 마스크를 작성하는 KAFFINITY 형식 변수에 대한 포인터입니다. 핫 추가 환경에서는 런타임 중에 이 마스크가 변경 될 수 있습니다. 이 매개 변수는 선택 사항이며 호출자에게 활성 프로세서의 마스크가 필요하지 않은 경우 NULL 로 지정할 수 있습니다.

반환 값

KeQueryActiveProcessorCount 는 현재 활성 프로세서 수를 반환합니다.

설명

디바이스 드라이버는 KeQueryActiveProcessorCount 루틴을 호출하여 현재 활성 프로세서 수를 검색합니다. Windows Vista 이상 버전의 Windows 운영 체제용으로 빌드된 디바이스 드라이버는 이 용도로 KeNumberProcessors 커널 변수를 사용하지 않아야 합니다.

호출자는 KeQueryActiveProcessorCount 루틴이 반환된 KAFFINITY 값의 비트에 프로세서를 연속적으로 매핑하거나 루틴이 호출될 때마다 동일한 비트 마스크를 반환한다고 가정할 수 없습니다.

또한 호출자는 핫 추가 CPU 기능을 지원하는 Windows 버전에서 런타임 시 KeQueryActiveProcessorCount 에서 반환된 값이 변경될 수 있다는 점에 유의해야 합니다.

필요한 경우 KeRegisterProcessorChangeCallback 루틴을 호출하여 프로세서 수 변경 알림을 등록합니다.

활성 프로세서 수를 가져오지 않고 선호도 마스크만 쿼리하려면 KeQueryActiveProcessors를 사용합니다.

Windows 7 이상 버전의 Windows는 프로세서 그룹을 지원합니다. 프로세서 그룹에 대한 정보를 처리하도록 설계된 드라이버는 그렇지 않은 KeQueryActiveProcessorCount 대신 프로세서 그룹을 지정하는 KeQueryActiveProcessorCount 루틴을 사용해야 합니다. 그러나 Windows 7 이상 버전의 Windows에서 KeQueryActiveProcessorCount 를 구현하면 프로세서 그룹을 지원하지 않는 이전 버전의 Windows용으로 작성된 드라이버에 대한 호환성이 제공됩니다. 이 구현에서 KeQueryActiveProcessorCount 는 그룹 0의 활성 논리 프로세서 수를 반환하고 그룹 0의 활성 논리 프로세서 집합을 지정하는 *ActiveProcessors 에 선호도 마스크를 씁니다.

요구 사항

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

추가 정보

KeQueryActiveProcessorCountEx

KeQueryActiveProcessors

KeRegisterProcessorChangeCallback