Compartilhar via


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

Confira também

KeQueryActiveProcessorCountEx

KeQueryActiveProcessors

KeRegisterProcessorChangeCallback