Função KeQueryHardwareCounterConfiguration (ntddk.h)

A rotina KeQueryHardwareCounterConfiguration consulta o sistema operacional para obter a lista de contadores de hardware a serem usados para criação de perfil de thread.

Sintaxe

NTSTATUS KeQueryHardwareCounterConfiguration(
  [out] PHARDWARE_COUNTER CounterArray,
  [in]  ULONG             MaximumCount,
  [out] PULONG            Count
);

Parâmetros

[out] CounterArray

Um ponteiro para um buffer alocado pelo chamador no qual a rotina grava uma matriz de elementos do tipo HARDWARE_COUNTER. Cada elemento de matriz é uma estrutura que contém informações sobre um contador de hardware. A matriz contém um elemento para cada contador de hardware atribuído à criação de perfil de thread. Se a rotina falhar, ela não gravará nada nesse buffer.

[in] MaximumCount

Especifica o número máximo de elementos que a rotina pode gravar no buffer apontado pelo parâmetro CounterArray . O tamanho do buffer alocado pelo chamador deve ser pelo menos maximumCount * sizeof(HARDWARE_COUNTER) bytes.

[out] Count

Um ponteiro para um local no qual a rotina grava o número de elementos de matriz que ele gravou no buffer apontado pelo parâmetro CounterArray . Se o comprimento do buffer especificado por MaximumCount não for grande o suficiente para conter toda a matriz, a rotina gravará o comprimento necessário em *Count e retornará STATUS_BUFFER_TOO_SMALL.

Retornar valor

KeQueryHardwareCounterConfiguration retornará STATUS_SUCCESS se a chamada for bem-sucedida. Os possíveis valores retornados por erro incluem o seguinte:

Código de retorno Descrição
STATUS_BUFFER_TOO_SMALL O parâmetro MaximumCount especifica um comprimento de buffer que não é grande o suficiente para conter as informações de configuração do contador.
STATUS_NOT_IMPLEMENTED Essa rotina não é implementada para a arquitetura do processador na qual o chamador está sendo executado.

Comentários

No Windows 7, essa rotina é implementada apenas para as arquiteturas baseadas em x86, baseadas em x64 e itanium. Se o chamador estiver em execução em uma arquitetura de processador sem suporte, a rotina retornará STATUS_NOT_IMPLEMENTED.

Para definir a configuração do contador de hardware a ser usada para criação de perfil de thread, chame a rotina KeSetHardwareCounterConfiguration .

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 ntddk.h (inclua Ntddk.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Confira também

HARDWARE_COUNTER

KeSetHardwareCounterConfiguration