KeQueryHardwareCounterConfiguration 函式 (ntddk.h)

KeQueryHardwareCounterConfiguration 例程會查詢操作系統,以取得要用於線程分析的硬體計數器清單。

語法

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

參數

[out] CounterArray

呼叫端配置緩衝區的指標,例程會將類型 為 HARDWARE_COUNTER 的項目數位寫入其中。 每個數位元素都是包含硬體計數器相關信息的結構。 數位針對指派給線程分析的每個硬體計數器,各包含一個專案。 如果例程失敗,它不會寫入這個緩衝區。

[in] MaximumCount

指定例程可以寫入 CounterArray 參數所指向之緩衝區的最大項目數。 呼叫端配置的緩衝區大小至少必須是 MaximumCount * 大小of (HARDWARE_COUNTER) 個字節。

[out] Count

例程寫入已寫入 CounterArray 參數所指向之緩衝區之陣列元素數目的位置指標。 如果 MaximumCount 指定的緩衝區長度不足以包含整個數位列,則例程會將所需的長度寫入 *Count ,並傳回STATUS_BUFFER_TOO_SMALL。

傳回值

如果呼叫成功,KeQueryHardwareCounterConfiguration 會傳回STATUS_SUCCESS。 可能的錯誤傳回值包括:

傳回碼 Description
STATUS_BUFFER_TOO_SMALL MaximumCount 參數會指定不足以包含計數器組態信息的緩衝區長度。
STATUS_NOT_IMPLEMENTED 此例程不會針對呼叫端執行所在的處理器架構實作。

備註

在 Windows 7 中,此例程只會針對以 x86 為基礎的 x64 架構和 Itanium 架構實作。 如果呼叫端在不支援的處理器架構上執行,則例程會傳回STATUS_NOT_IMPLEMENTED。

若要將硬體計數器組態設定為用於線程分析,請呼叫 KeSetHardwareCounterConfiguration 例程。

規格需求

需求
最低支援的用戶端 適用於 Windows 7 和更新版本的 Windows。
目標平台 Universal
標頭 ntddk.h (包含 Ntddk.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL <= APC_LEVEL

另請參閱

HARDWARE_COUNTER

KeSetHardwareCounterConfiguration