KeGetCurrentProcessorNumber 함수(ntddk.h)

KeGetCurrentProcessorNumber 루틴은 호출자가 실행 중인 현재 프로세서의 시스템 할당 번호를 반환합니다.

구문

ULONG KeGetCurrentProcessorNumber();

반환 값

KeGetCurrentProcessorNumber 는 호출자가 현재 실행 중인 프로세서를 나타내는 ULONG 값을 반환합니다.

설명

KeGetCurrentProcessorNumber 를 호출하여 드라이버 개발 중에 SMP 머신에서 스핀 잠금 사용을 디버그할 수 있습니다. 프로세서당 일부 데이터를 유지하고 캐시 라인 경합을 줄이려고 시도하면 드라이버가 KeGetCurrentProcessorNumber 를 호출할 수도 있습니다.

SMP 컴퓨터의 프로세서 수는 0부터 시작하는 값입니다.

Windows 7 이상 버전의 Windows는 프로세서 그룹을 지원합니다. 프로세서 그룹에 대한 정보를 처리하도록 설계된 드라이버는 그렇지 않은 KeGetCurrentProcessorNumber 대신 프로세서 그룹을 지정하는 KeGetCurrentProcessorNumber 루틴을 사용해야 합니다. 그러나 Windows 7 이상 버전의 Windows에서 KeGetCurrentProcessorNumber 구현은 이전 버전의 Windows용으로 작성된 드라이버에 대한 호환성을 제공합니다. 이 구현에서 KeGetCurrentProcessorNumber 는 호출자가 그룹 0의 프로세서에서 실행 중인 경우 그룹 상대 프로세서 번호를 반환하며, 이는 프로세서 그룹을 지원하지 않는 이전 버전의 Windows에서 이 루틴의 동작과 호환됩니다. 호출자가 그룹 0이 아닌 다른 그룹의 프로세서에서 실행 중인 경우 이 루틴은 그룹 0의 프로세서 수보다 작은 숫자를 반환합니다. 이 동작은 반환 값이 KeQueryActiveProcessorCount 루틴의 반환 값보다 작도록 합니다.

IRQL <= APC_LEVEL KeGetCurrentProcessorNumber 호출이 발생하는 경우 명령 간에 프로세서 스위치가 발생할 수 있습니다. 따라서 KeGetCurrentProcessorNumber 호출자는 일반적으로 IRQL >= DISPATCH_LEVEL 실행됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000부터 사용할 수 있습니다.
대상 플랫폼 데스크톱
머리글 ntddk.h(Ntddk.h 포함)
IRQL 설명 섹션을 참조하십시오.
DDI 규정 준수 규칙 Irql_Miscellaneous_Function(ndis)

추가 정보

KeGetCurrentProcessorNumberEx

KeQueryActiveProcessorCount