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 | 任何層級 |