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 do tipo KAFFINITY 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.
Retornar valor
KeQueryActiveProcessorCount retorna o número de processadores ativos no momento.
Comentários
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 a variável de kernel KeNumberProcessors para essa finalidade.
Os chamadores não podem assumir que a rotina KeQueryActiveProcessorCount mapeia processadores para bits no valor KAFFINITY retornado 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 hot-add.
Se necessário, registre-se para notificação de alterações no número de processadores chamando a rotina 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 KeQueryActiveProcessorCountEx , que especifica um grupo de processadores, em vez de KeQueryActiveProcessorCount, o que não o faz. 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 |
---|---|
Cliente mínimo com suporte | Disponível no Windows Vista e versões posteriores do Windows. |
Plataforma de Destino | Universal |
Cabeçalho | ntddk.h (inclua Wdm.h, Ntddk.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Qualquer nível |