KeQueryHardwareCounterConfiguration-Funktion (ntddk.h)

Die KeQueryHardwareCounterConfiguration-Routine fragt das Betriebssystem nach der Liste der Hardwareindikatoren ab, die für die Threadprofilerstellung verwendet werden sollen.

Syntax

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

Parameter

[out] CounterArray

Ein Zeiger auf einen vom Aufrufer zugewiesenen Puffer, in den die Routine ein Array von Elementen vom Typ HARDWARE_COUNTER schreibt. Jedes Arrayelement ist eine Struktur, die Informationen zu einem Hardwarezähler enthält. Das Array enthält ein Element für jeden Hardwareindikator, der der Threadprofilerstellung zugewiesen ist. Wenn die Routine fehlschlägt, schreibt sie nichts in diesen Puffer.

[in] MaximumCount

Gibt die maximale Anzahl von Elementen an, die die Routine in den Puffer schreiben kann, auf den der CounterArray-Parameter verweist. Die Größe des vom Aufrufer zugewiesenen Puffers muss mindestens MaximumCount * sizeof(HARDWARE_COUNTER) Bytes sein.

[out] Count

Ein Zeiger auf eine Position, in die die Routine die Anzahl der Arrayelemente schreibt, die sie in den Puffer geschrieben hat, auf den der CounterArray-Parameter verweist. Wenn die von MaximumCount angegebene Pufferlänge nicht groß genug ist, um das gesamte Array zu enthalten, schreibt die Routine die erforderliche Länge in *Count und gibt STATUS_BUFFER_TOO_SMALL zurück.

Rückgabewert

KeQueryHardwareCounterConfiguration gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich ist. Mögliche Fehlerrückgabewerte sind:

Rückgabecode Beschreibung
STATUS_BUFFER_TOO_SMALL Der Parameter MaximumCount gibt eine Pufferlänge an, die nicht groß genug ist, um die Zählerkonfigurationsinformationen zu enthalten.
STATUS_NOT_IMPLEMENTED Diese Routine wird nicht für die Prozessorarchitektur implementiert, auf der der Aufrufer ausgeführt wird.

Hinweise

In Windows 7 wird diese Routine nur für die x86-basierten, x64-basierten und Itanium-basierten Architekturen implementiert. Wenn der Aufrufer in einer Prozessorarchitektur ausgeführt wird, die nicht unterstützt wird, gibt die Routine STATUS_NOT_IMPLEMENTED zurück.

Rufen Sie die KeSetHardwareCounterConfiguration-Routine auf, um die Konfiguration des Hardwareindikators festzulegen, die für die Threadprofilerstellung verwendet werden soll.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Windows 7 und späteren Windows-Versionen.
Zielplattform Universell
Header ntddk.h (include Ntddk.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Weitere Informationen

HARDWARE_COUNTER

KeSetHardwareCounterConfiguration