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 |