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