Función KeQueryHardwareCounterConfiguration (ntddk.h)

La rutina KeQueryHardwareCounterConfiguration consulta el sistema operativo para ver la lista de contadores de hardware que se van a usar para la generación de perfiles de subprocesos.

Sintaxis

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

Parámetros

[out] CounterArray

Puntero a un búfer asignado por el autor de la llamada en el que la rutina escribe una matriz de elementos de tipo HARDWARE_COUNTER. Cada elemento de matriz es una estructura que contiene información sobre un contador de hardware. La matriz contiene un elemento para cada contador de hardware que se asigna a la generación de perfiles de subprocesos. Si se produce un error en la rutina, no escribe nada en este búfer.

[in] MaximumCount

Especifica el número máximo de elementos a los que la rutina puede escribir en el búfer al que apunta el parámetro CounterArray . El tamaño del búfer asignado por el autor de la llamada debe tener al menos el tamaño maximumCount * de (HARDWARE_COUNTER) bytes.

[out] Count

Puntero a una ubicación en la que la rutina escribe el número de elementos de matriz que ha escrito en el búfer al que apunta el parámetro CounterArray . Si la longitud del búfer especificada por MaximumCount no es lo suficientemente grande como para contener toda la matriz, la rutina escribe la longitud necesaria en *Count y devuelve STATUS_BUFFER_TOO_SMALL.

Valor devuelto

KeQueryHardwareCounterConfiguration devuelve STATUS_SUCCESS si la llamada se realiza correctamente. Entre los valores devueltos de error posibles se incluyen los siguientes:

Código devuelto Descripción
STATUS_BUFFER_TOO_SMALL El parámetro MaximumCount especifica una longitud de búfer que no es lo suficientemente grande como para contener la información de configuración del contador.
STATUS_NOT_IMPLEMENTED Esta rutina no se implementa para la arquitectura del procesador en la que se ejecuta el autor de la llamada.

Comentarios

En Windows 7, esta rutina solo se implementa para las arquitecturas basadas en x86, x64 y itanium. Si el autor de la llamada se ejecuta en una arquitectura de procesador que no se admite, la rutina devuelve STATUS_NOT_IMPLEMENTED.

Para establecer la configuración del contador de hardware que se va a usar para la generación de perfiles de subprocesos, llame a la rutina KeSetHardwareCounterConfiguration .

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows 7 y versiones posteriores de Windows.
Plataforma de destino Universal
Encabezado ntddk.h (incluya Ntddk.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Consulte también

HARDWARE_COUNTER

KeSetHardwareCounterConfiguration