Função KeGetCurrentProcessorNumber (ntddk.h)

A rotina KeGetCurrentProcessorNumber retorna o número atribuído pelo sistema do processador atual no qual o chamador está em execução.

Sintaxe

ULONG KeGetCurrentProcessorNumber();

Retornar valor

KeGetCurrentProcessorNumber retorna um valor ULONG que representa o processador no qual o chamador está em execução no momento.

Comentários

KeGetCurrentProcessorNumber pode ser chamado para depurar o uso do bloqueio de rotação em computadores SMP durante o desenvolvimento do driver. Um driver também poderá chamar KeGetCurrentProcessorNumber se mantiver alguns dados por processador e tentar reduzir a contenção de linha de cache.

O número de processadores em um computador SMP é um valor baseado em zero.

O Windows 7 e versões posteriores do Windows dão suporte a grupos de processadores. Os drivers projetados para lidar com informações sobre grupos de processadores devem usar a rotina KeGetCurrentProcessorNumberEx , que especifica um grupo de processadores, em vez de KeGetCurrentProcessorNumber, o que não o faz. No entanto, a implementação de KeGetCurrentProcessorNumber no Windows 7 e versões posteriores do Windows fornece compatibilidade para drivers que foram escritos para versões anteriores do Windows. Nessa implementação, 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 de processadores. 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 .

Se a chamada para KeGetCurrentProcessorNumber ocorrer em IRQL <= APC_LEVEL, uma opção de processador poderá ocorrer entre as instruções. Consequentemente, os chamadores de KeGetCurrentProcessorNumber geralmente são executados em IRQL >= DISPATCH_LEVEL.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 2000.
Plataforma de Destino Área de Trabalho
Cabeçalho ntddk.h (inclua Ntddk.h)
IRQL Consulte a seção Observações.
Regras de conformidade da DDI Irql_Miscellaneous_Function(ndis)

Confira também

KeGetCurrentProcessorNumberEx

KeQueryActiveProcessorCount