Freigeben über


KeQueryHardwareCounterConfiguration-Funktion (ntddk.h)

Die KeQueryHardwareCounterConfiguration Routine fragt das Betriebssystem nach der Liste der Hardwarezähler 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_COUNTERschreibt. Jedes Arrayelement ist eine Struktur, die Informationen zu einem Hardwarezähler enthält. Das Array enthält ein Element für jeden Hardwarezähler, 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, auf 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 * Größe(HARDWARE_COUNTER) Byte 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 durch 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 Informationen zur Zählerkonfiguration zu enthalten.
STATUS_NOT_IMPLEMENTED Diese Routine ist nicht für die Prozessorarchitektur implementiert, auf der der Aufrufer ausgeführt wird.

Bemerkungen

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

Rufen Sie die KeSetHardwareCounterConfiguration Routine auf, um die Hardwarezählerkonfiguration für die Threadprofilerstellung festzulegen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar in Windows 7 und höheren Versionen von Windows.
Zielplattform- Universal
Header- ntddk.h (include Ntddk.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- <= APC_LEVEL

Siehe auch

HARDWARE_COUNTER

KeSetHardwareCounterConfiguration