Função KeQueryActiveProcessorCount (ntddk.h)
A rotina KeQueryActiveProcessorCount retorna o número de processadores ativos no momento.
Sintaxe
ULONG KeQueryActiveProcessorCount(
[out, optional] PKAFFINITY ActiveProcessors
);
Parâmetros
[out, optional] ActiveProcessors
Um ponteiro para uma variável KAFFINITYdigitada na qual a rotina grava uma máscara de bits que representa o conjunto de processadores ativos no momento. Em um ambiente de adição frequente, essa máscara pode mudar durante o runtime. Esse parâmetro é opcional e pode ser especificado como NULL se o chamador não exigir a máscara de processadores ativos.
Valor de retorno
KeQueryActiveProcessorCount retorna o número de processadores ativos no momento.
Observações
Um driver de dispositivo chama a rotina KeQueryActiveProcessorCount para recuperar o número de processadores ativos no momento. Os drivers de dispositivo criados para o Windows Vista e versões posteriores do sistema operacional Windows não devem usar o KeNumberProcessors variável de kernel para essa finalidade.
Os chamadores não podem assumir que o KeQueryActiveProcessorCount mapeia processadores de rotina para bits no valor KAFFINITY consecutivamente ou que a rotina retornará a mesma máscara de bits sempre que for chamada.
Os chamadores também devem estar cientes de que o valor retornado por KeQueryActiveProcessorCount pode ser alterado em runtime em versões do Windows que dão suporte à funcionalidade de CPU de adição frequente.
Se necessário, registre-se para notificação de alterações no número de processadores chamando a rotina de keRegisterProcessorChangeCallback.
Para consultar apenas a máscara de afinidade sem obter o número de processadores ativos, use KeQueryActiveProcessors.
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 KeQueryActiveProcessorCountEx, que especifica um grupo de processadores, em vez de KeQueryActiveProcessorCount, o que não acontece. No entanto, a implementação de KeQueryActiveProcessorCount no Windows 7 e versões posteriores do Windows fornece compatibilidade para drivers que foram gravados para versões anteriores do Windows, que não dão suporte a grupos de processadores. Nesta implementação, KeQueryActiveProcessorCount retorna o número de processadores lógicos ativos no grupo 0 e grava uma máscara de afinidade em *ActiveProcessors que especifica o conjunto de processadores lógicos ativos no grupo 0.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Disponível no Windows Vista e versões posteriores do Windows. |
da Plataforma de Destino | Universal |
cabeçalho | ntddk.h (inclua Wdm.h, Ntddk.h) |
biblioteca | NtosKrnl.lib |
de DLL | NtosKrnl.exe |
IRQL | Qualquer nível |