Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 |