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 |