Função KeQueryHardwareCounterConfiguration (ntddk.h)
O KeQueryHardwareCounterConfiguration consultas rotineiras ao sistema operacional para 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 para *Contagem e retornará STATUS_BUFFER_TOO_SMALL.
Valor de retorno
KeQueryHardwareCounterConfiguration retornará STATUS_SUCCESS se a chamada for bem-sucedida. Os valores de retorno de erro possíveis incluem o seguinte:
Código de retorno | Descrição |
---|---|
STATUS_BUFFER_TOO_SMALL | O parâmetro MaximumCount especifica um tamanho 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á em execução. |
Observações
No Windows 7, essa rotina é implementada apenas para as arquiteturas baseadas em x86, 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 |
---|---|
de cliente com suporte mínimo | Disponível no Windows 7 e versões posteriores do Windows. |
da Plataforma de Destino | Universal |
cabeçalho | ntddk.h (inclua Ntddk.h) |
biblioteca | NtosKrnl.lib |
de DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |