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 |