KeQueryActiveProcessorCount 函式 (ntddk.h)

KeQueryActiveProcessorCount 例程會傳回目前作用中處理器的數目。

語法

ULONG KeQueryActiveProcessorCount(
  [out, optional] PKAFFINITY ActiveProcessors
);

參數

[out, optional] ActiveProcessors

KAFFINITY 型別變數的指標,例程會將代表目前作用中處理器集的位掩碼寫入其中。 在熱新增環境中,此遮罩可能會在運行時間期間變更。 如果呼叫端不需要使用中處理器的遮罩,這個參數是選擇性的,而且可以指定為 NULL

傳回值

KeQueryActiveProcessorCount 會傳回目前作用中的處理器數目。

備註

裝置驅動程式會呼叫 KeQueryActiveProcessorCount 例程,以擷取目前作用中的處理器數目。 針對 Windows Vista 和更新版本的 Windows 作業系統所建置的設備驅動器,不應針對此目的使用 KeNumberProcessors 核心變數。

呼叫端無法假設 KeQueryActiveProcessorCount 例程會連續將處理器對應至傳回 的 KAFFINITY 值中的位,或例程每次呼叫時都會傳回相同的位掩碼。

呼叫端也必須注意 KeQueryActiveProcessorCount 所傳回的值可以在支援熱新增 CPU 功能的 Windows 版本上變更。

如有必要,請呼叫 KeRegisterProcessorChangeCallback 例程,以註冊處理器數目的變更通知。

若要查詢同質遮罩而不取得使用中處理器的數目,請使用 KeQueryActiveProcessors

Windows 7 和更新版本的 Windows 支援處理器群組。 設計來處理處理器群組相關信息的驅動程序應該使用 KeQueryActiveProcessorCountEx 例程,這個例程會指定處理器群組,而不是未指定處理器群組的 KeQueryActiveProcessorCount。 不過,Windows 7 和更新版本中 KeQueryActiveProcessorCount 的實作可為舊版 Windows 所撰寫的驅動程式提供相容性,這些驅動程式不支持處理器群組。 在此實作中, KeQueryActiveProcessorCount 會傳回群組 0 中的使用中邏輯處理器數目,並將同質遮罩寫入至 *ActiveProcessors ,以指定群組 0 中的使用中邏輯處理器集。

規格需求

需求
最低支援的用戶端 可在 Windows Vista 和更新版本的 Windows 中使用。
目標平台 Universal
標頭 ntddk.h (包括 Wdm.h、Ntddk.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL 任何層級

另請參閱

KeQueryActiveProcessorCountEx

KeQueryActiveProcessors

KeRegisterProcessorChangeCallback