KeGetCurrentProcessorNumber 函式 (ntddk.h)

KeGetCurrentProcessorNumber 例程會傳回呼叫端執行所在目前處理器的系統指派號碼。

Syntax

ULONG KeGetCurrentProcessorNumber();

傳回值

KeGetCurrentProcessorNumber 會傳回 ULONG 值,代表呼叫端目前正在執行的處理器。

備註

您可以在驅動程式開發期間呼叫 KeGetCurrentProcessorNumber,以偵錯 SMP 機器上的微調鎖定使用量。 如果驅動程式維護了一些個別處理器的數據,並嘗試減少快取行爭用,則驅動程式也可能呼叫 KeGetCurrentProcessorNumber

SMP 機器中的處理器數目是以零起始的值。

Windows 7 和更新版本的 Windows 支援處理器群組。 設計來處理處理器群組相關信息的驅動程序應該使用 KeGetCurrentProcessorNumberEx 例程,這個例程會指定處理器群組,而不是未指定處理器群組的 KeGetCurrentProcessorNumber。 不過,在 Windows 7 和更新版本中, KeGetCurrentProcessorNumber 的實作可為舊版 Windows 所撰寫的驅動程式提供相容性。 在此實作中,如果呼叫端在群組 0 的處理器上執行, KeGetCurrentProcessorNumber 會傳回群組相對處理器號碼,這與舊版 Windows 中不支持處理器群組的此例程行為相容。 如果呼叫端在群組 0 以外的任何群組中的處理器上執行,此例程會傳回小於群組 0 中處理器數目的數位。 此行為可確保傳回值小於 KeQueryActiveProcessorCount 例程的傳回值。

如果對 KeGetCurrentProcessorNumber 的呼叫發生在 IRQL <= APC_LEVEL,處理器參數可以在指令之間發生。 因此, KeGetCurrentProcessorNumber 的呼叫端通常會在 IRQL >= DISPATCH_LEVEL執行。

規格需求

需求
最低支援的用戶端 從 Windows 2000 開始提供。
目標平台 桌面
標頭 ntddk.h (包含 Ntddk.h)
IRQL 請參閱一節。
DDI 合規性規則 Irql_Miscellaneous_Function (ndis)

另請參閱

KeGetCurrentProcessorNumberEx

KeQueryActiveProcessorCount