共用方式為


KeQueryActiveProcessorCountEx 函式 (wdm.h)

KeQueryActiveProcessorCountEx 例程會傳回多處理器系統或整個系統中指定群組中的使用中邏輯處理器數目。

語法

ULONG KeQueryActiveProcessorCountEx(
  [in] USHORT GroupNumber
);

參數

[in] GroupNumber

組號。 如果多處理器系統包含 n 個 群組,有效的組號範圍從 0 到 n-1。 若要計算系統中所有群組中的所有使用中處理器,請將此參數設定為 ALL_PROCESSOR_GROUPS,其定義於頭檔 Winnt.h 和 Ntdef.h 中。

傳回值

KeQueryActiveProcessorCountEx 會傳回群組中的使用中邏輯處理器數目。 如果 GroupNumber 不是有效的組號,而且不是ALL_PROCESSOR_GROUPS,則會傳回零。

言論

作用中的邏輯處理器是 Windows 已啟動並新增至多處理器系統的邏輯處理器。 使用中處理器一詞適用於可用於執行處理工作的處理器,不論處理器目前執行處理工作還是閑置。 在某些系統中,使用中處理器的數目可能會保持不變,從系統啟動到關機。 在其他系統中,Windows 可能會在系統執行時動態新增使用中處理器。 Windows 永遠不會從系統移除作用中的處理器。 因此,多處理器系統中的作用中處理器數目可以在系統啟動和關機之間增加,但這個數目永遠不會減少。

KeQueryActiveProcessorCount相關的例程會傳回使用中的處理器計數,但此例程與 KeQueryActiveProcessorCountEx不同,不接受群組編號做為輸入參數。 在 Windows 7 和更新版本的 Windows作系統中,KeQueryActiveProcessorCount 會傳回群組 0 中的使用中處理器計數,這與舊版 Windows 中不支援群組的這個例程行為相容。 此行為可確保呼叫 KeQueryActiveProcessorCount 的現有驅動程式,且不使用任何群組導向功能的驅動程式會在具有兩個或多個群組的多處理器系統中正確執行。 不過,在 Windows 7 和更新版本中使用任何群組導向功能的驅動程式應該呼叫 KeQueryActiveProcessorCountEx,而不是 KeQueryActiveProcessorCount

如需使用 KeQueryActiveProcessorCountEx的程式碼範例,請參閱 KeGetProcessorNumberFromIndex

要求

要求 價值
最低支援的用戶端 適用於 Windows 7 和更新版本的 Windows。
目標平臺 普遍
標頭 wdm.h (包括 Ntddk.h、Wdm.h、Ntddk.h)
連結庫 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 任何層級

另請參閱

KeGetProcessorNumberFromIndex

KeQueryActiveProcessorCount