共用方式為


KeSetTargetProcessorDpc 函式 (wdm.h)

KeSetTargetProcessorDpc 例程會指定將執行 DPC 例程的處理器。

語法

void KeSetTargetProcessorDpc(
  [in, out] PRKDPC Dpc,
  [in]      CCHAR  Number
);

參數

[in, out] Dpc

呼叫端的 DPC 物件的指標, KeInitializeDpc 已經初始化。

[in] Number

指定 DPC 應排入佇列和執行的目標處理器以零起始的數目。

傳回值

備註

在多處理器系統上,每個處理器都有自己的 DPC 佇列。 KeSetTargetProcessorDpc 例程會指定當驅動程式呼叫 KeInsertQueueDpcIoRequestDpc 將 DPC 排入佇列時,系統應該使用的處理器佇列。

從 Windows Vista 開始,您也可以使用 KeSetTargetProcessorDpc 來指定 線程 DPC 的目標處理器。

KeSetTargetProcessorDpcEx 的呼叫,會在 DPC 物件排入佇列之後發生,對要執行的 DPC 例程選取沒有作用。 若要控制目標處理器的選取範圍,必須在呼叫 KeInsertQueueDpc 或排入 DPC 物件的 IoRequestDpc 之前發生 KeSetTargetProcessorDpc 呼叫。

如需 DPC 佇列的詳細資訊,請參閱 DPC 佇列的組織

Windows 7 和更新版本的 Windows 支援處理器群組。 設計用來處理處理器群組相關信息的驅動程序應該使用 KeSetTargetProcessorDpcEx 例程,這個例程會指定處理器群組,而不是未指定處理器群組的 KeSetTargetProcessorDpc。 不過,Windows 7 和更新版本中 KeSetTargetProcessorDpc 的實作可為舊版 Windows 所撰寫的驅動程式提供相容性,這些驅動程式不支持處理器群組。 在此實作中,如果 Number 小於群組 0 中作用中邏輯處理器的數目, KeSetTargetProcessorDpc 會將 DPC 的目標設定為 Number 所指定的群組 0 中的處理器。 否則,DPC 目標不會變更。

規格需求

需求
最低支援的用戶端 從 Windows 2000 開始提供。
目標平台 Universal
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL 任何層級

另請參閱

IoRequestDpc

KeGetCurrentProcessorNumber

KeInitializeDpc

KeInsertQueueDpc

KeSetImportanceDpc

KeSetTargetProcessorDpcEx