KeGetCurrentProcessorNumberEx 함수(wdm.h)
KeGetCurrentProcessorNumberEx 루틴은 호출자가 실행 중인 논리 프로세서의 프로세서 번호를 가져옵니다.
구문
ULONG KeGetCurrentProcessorNumberEx(
[out, optional] PPROCESSOR_NUMBER ProcNumber
);
매개 변수
[out, optional] ProcNumber
루틴이 현재 논리 프로세서를 식별하는 PROCESSOR_NUMBER 구조를 작성하는 호출자가 할당한 버퍼에 대한 포인터입니다. 이 구조체에는 그룹 번호와 그룹 상대 프로세서 번호가 포함됩니다. 이 정보가 필요하지 않은 경우 이 매개 변수를 NULL 로 설정할 수 있습니다.
반환 값
KeGetCurrentProcessorNumberEx 는 호출자가 실행 중인 논리 프로세서의 시스템 전체 프로세서 인덱스를 반환합니다.
설명
ProcNumber가 NULL이 아닌 경우 ProcNumber가 가리키는 버퍼는 PROCESSOR_NUMBER 구조를 포함할 수 있을 만큼 커야 합니다. 그룹 번호와 그룹 상대 프로세서 번호를 포함하는 이 구조와 달리 반환 값은 전체 다중 프로세서 시스템에서 프로세서를 식별하는 프로세서 인덱스입니다.
예를 들어 다중 프로세서 시스템에 두 개의 그룹이 있고 각 그룹에 64개의 논리 프로세서가 포함된 경우 각 그룹의 프로세서 번호는 0에서 63까지이지만 시스템 전체 프로세서 인덱스는 0에서 127까지입니다.
관련 루틴인 KeGetCurrentProcessorNumber는 현재 프로세서 번호를 반환하지만 이 루틴은 KeGetCurrentProcessorNumberEx와 달리 프로세서에 대한 그룹 번호를 제공하지 않습니다. Windows 운영 체제의 Windows 7 이상 버전에서 호출자가 그룹 0의 프로세서에서 실행 중인 경우 KeGetCurrentProcessorNumber 는 그룹 상대 프로세서 번호를 반환하며, 이는 그룹을 지원하지 않는 이전 버전의 Windows에서 이 루틴의 동작과 호환됩니다. 그러나 호출자가 그룹 0이 아닌 다른 그룹의 프로세서에서 실행 중인 경우 이 루틴은 그룹 0의 프로세서 수보다 작은 숫자를 반환합니다. 이 동작은 반환 값이 KeQueryActiveProcessorCount 루틴의 반환 값보다 작도록 합니다. KeGetCurrentProcessorNumber를 호출하고 그룹 지향 기능을 사용하지 않는 기존 드라이버는 둘 이상의 그룹이 있는 다중 프로세서 시스템에서 올바르게 실행됩니다. 그러나 Windows 7 이상 버전의 Windows 운영 체제에서 그룹 지향 기능을 사용하는 드라이버는 KeGetCurrentProcessorNumber 대신 KeGetCurrentProcessorNumberEx를 호출해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 7 및 이후 버전의 Windows에서 사용할 수 있습니다. |
대상 플랫폼 | 유니버설 |
헤더 | wdm.h(Ntddk.h, Wdm.h, Ntddk.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 모든 수준 |