Compartilhar via


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();

Valor de retorno

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

Observações

KeGetCurrentProcessorNumber podem ser chamados para depurar o uso de bloqueio de rotação em computadores SMP durante o desenvolvimento do driver. Um driver também pode chamar KeGetCurrentProcessorNumber se ele manteve alguns dados por processador e tentou 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 de KeGetCurrentProcessorNumberEx, que especifica um grupo de processadores, em vez de KeGetCurrentProcessorNumber, o que não acontece. No entanto, a implementação de KeGetCurrentProcessorNumber no Windows 7 e versões posteriores do Windows fornece compatibilidade para drivers que foram gravados para versões anteriores do Windows. Nesta 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 de 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 no >DO IRQL = DISPATCH_LEVEL.

Requisitos

Requisito Valor
de cliente com suporte mínimo Disponível a partir do Windows 2000.
da Plataforma de Destino Área de trabalho
cabeçalho ntddk.h (inclua Ntddk.h)
IRQL Consulte a seção Comentários.
regras de conformidade de DDI Irql_Miscellaneous_Function(ndis)

Consulte também

KeGetCurrentProcessorNumberEx

KeQueryActiveProcessorCount