Condividi tramite


Funzione KeQueryHardwareCounterConfiguration (ntddk.h)

La routine KeQueryHardwareCounterConfiguration esegue una query sul sistema operativo per l'elenco dei contatori hardware da usare per la profilatura dei thread.

Sintassi

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

Parametri

[out] CounterArray

Puntatore a un buffer allocato dal chiamante in cui la routine scrive una matrice di elementi di tipo HARDWARE_COUNTER. Ogni elemento matrice è una struttura che contiene informazioni su un contatore hardware. La matrice contiene un elemento per ogni contatore hardware assegnato alla profilatura dei thread. Se la routine non riesce, non scrive nulla in questo buffer.

[in] MaximumCount

Specifica il numero massimo di elementi che la routine può scrivere nel buffer a cui punta il parametro CounterArray . Le dimensioni del buffer allocato dal chiamante devono essere almeno byte MaximumCount * sizeof(HARDWARE_COUNTER).

[out] Count

Puntatore a una posizione in cui la routine scrive il numero di elementi della matrice scritti nel buffer a cui punta il parametro CounterArray . Se la lunghezza del buffer specificata da MaximumCount non è sufficiente per contenere l'intera matrice, la routine scrive la lunghezza richiesta in *Count e restituisce STATUS_BUFFER_TOO_SMALL.

Valore restituito

KeQueryHardwareCounterConfiguration restituisce STATUS_SUCCESS se la chiamata ha esito positivo. I valori restituiti di errore possibili includono quanto segue:

Codice restituito Descrizione
STATUS_BUFFER_TOO_SMALL Il parametro MaximumCount specifica una lunghezza del buffer insufficiente per contenere le informazioni di configurazione del contatore.
STATUS_NOT_IMPLEMENTED Questa routine non viene implementata per l'architettura del processore in cui è in esecuzione il chiamante.

Commenti

In Windows 7 questa routine viene implementata solo per le architetture basate su x86, basate su x64 e basate su Itanium. Se il chiamante è in esecuzione in un'architettura del processore non supportata, la routine restituisce STATUS_NOT_IMPLEMENTED.

Per impostare la configurazione del contatore hardware da usare per la profilatura dei thread, chiamare la routine KeSetHardwareCounterConfiguration .

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows 7 e versioni successive di Windows.
Piattaforma di destinazione Universale
Intestazione ntddk.h (include Ntddk.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Vedi anche

HARDWARE_COUNTER

KeSetHardwareCounterConfiguration