Compartilhar via


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

Confira também

KeGetCurrentProcessorNumber

KeQueryActiveProcessorCount

PROCESSOR_NUMBER