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 |