Função KeQueryActiveProcessorCountEx (wdm.h)

A rotina KeQueryActiveProcessorCountEx retorna o número de processadores lógicos ativos em um grupo especificado em um sistema multiprocessador ou em todo o sistema.

Sintaxe

ULONG KeQueryActiveProcessorCountEx(
  [in] USHORT GroupNumber
);

Parâmetros

[in] GroupNumber

O número do grupo. Se um sistema multiprocessador contiver n grupos, os números de grupo válidos variam de 0 a n-1. Para contar todos os processadores ativos em todos os grupos no sistema, defina esse parâmetro como ALL_PROCESSOR_GROUPS, que é definido nos arquivos de cabeçalho Winnt.h e Ntdef.h.

Retornar valor

KeQueryActiveProcessorCountEx retorna o número de processadores lógicos ativos no grupo. Se GroupNumber não for um número de grupo válido e não for ALL_PROCESSOR_GROUPS, ele retornará zero.

Comentários

Um processador lógico ativo é um processador lógico que o Windows iniciou e adicionou a um sistema multiprocessador. O termo processador ativo aplica-se a um processador que está disponível para executar o trabalho de processamento, independentemente se o processador está executando o trabalho de processamento ou está ocioso no momento. Em alguns sistemas, o número de processadores ativos pode permanecer inalterado desde a inicialização do sistema até o desligamento. Em outros sistemas, o Windows pode adicionar dinamicamente processadores ativos enquanto o sistema está em execução. O Windows nunca remove processadores ativos de um sistema. Portanto, o número de processadores ativos em um sistema multiprocessador pode aumentar entre a inicialização e o desligamento do sistema, mas esse número nunca diminui.

Uma rotina relacionada, KeQueryActiveProcessorCount, retorna uma contagem de processador ativa, mas essa rotina, ao contrário de KeQueryActiveProcessorCountEx, não aceita um número de grupo como um parâmetro de entrada. No Windows 7 e versões posteriores do sistema operacional Windows, KeQueryActiveProcessorCount retorna a contagem de processadores ativos 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. Esse comportamento garante que os drivers existentes que chamam KeQueryActiveProcessorCount e que não usam recursos orientados a grupos sejam 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 KeQueryActiveProcessorCountEx em vez de KeQueryActiveProcessorCount.

Para obter um exemplo de código que usa KeQueryActiveProcessorCountEx, consulte KeGetProcessorNumberFromIndex.

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 wdm.h (inclua Ntddk.h, Wdm.h, Ntddk.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Qualquer nível

Confira também

KeGetProcessorNumberFromIndex

KeQueryActiveProcessorCount