Função KeGetCurrentProcessorNumberEx (ntddk.h)
A rotina KeGetCurrentProcessorNumberEx obtém o número do processador lógico no qual o chamador está sendo executado.
Sintaxe
ULONG KeGetCurrentProcessorNumberEx(
[out, optional] PPROCESSOR_NUMBER ProcNumber
);
Parâmetros
[out, optional] ProcNumber
Um ponteiro para um buffer alocado pelo chamador no qual a rotina grava uma estrutura PROCESSOR_NUMBER que identifica o processador lógico atual. Essa estrutura contém o número do grupo e o número do processador relativo ao grupo. Você poderá definir esse parâmetro como NULL se não precisar dessas informações.
Retornar valor
KeGetCurrentProcessorNumberEx retorna o índice de processador em todo o sistema do processador lógico no qual o chamador está sendo executado.
Comentários
Se ProcNumber não for NULL, o buffer apontado por ProcNumber deverá ser grande o suficiente para conter uma estrutura PROCESSOR_NUMBER. Ao contrário dessa estrutura, que contém um número de grupo e um número de processador relativo ao grupo, o valor retornado é um índice de processador que identifica o processador em todo o sistema multiprocessador.
Por exemplo, se um sistema multiprocessador contiver dois grupos e cada grupo contiver 64 processadores lógicos, os números de processador em cada grupo variam de 0 a 63, mas os índices de processador em todo o sistema variam de 0 a 127.
Uma rotina relacionada, KeGetCurrentProcessorNumber, retorna o número do processador atual, mas essa rotina, ao contrário de KeGetCurrentProcessorNumberEx, não fornece um número de grupo para o processador. No Windows 7 e versões posteriores do sistema operacional Windows, KeGetCurrentProcessorNumber retornará o número do processador relativo ao grupo se o chamador estiver em execução em um processador no grupo 0, que é compatível com o comportamento dessa rotina em versões anteriores do Windows que não dão suporte a grupos. No entanto, se o chamador estiver em execução em um processador em qualquer grupo diferente do grupo 0, essa rotina retornará um número menor que o número de processadores no grupo 0. Esse comportamento garante que o valor retornado seja menor que o valor retornado da rotina KeQueryActiveProcessorCount . Os drivers existentes que chamam KeGetCurrentProcessorNumber e que não usam recursos orientados a grupos são executados corretamente em sistemas multiprocessadores que têm dois ou mais grupos. No entanto, os drivers que usam recursos orientados a grupos no Windows 7 e versões posteriores do sistema operacional Windows devem chamar KeGetCurrentProcessorNumberEx em vez de KeGetCurrentProcessorNumber.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível no Windows 7 e versões posteriores do Windows. |
Plataforma de Destino | Universal |
Cabeçalho | ntddk.h (inclua Ntddk.h, Wdm.h, Ntddk.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Qualquer nível |