共用方式為


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 佇列時,系統應該使用的處理器佇列。

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

呼叫 KeSetTargetProcessorDpcEx,在 DPC 物件已排入佇列之後發生,不會影響選取要執行之 DPC 例程的處理器。 若要控制目標處理器的選取範圍,必須先呼叫 KeSetTargetProcessorDpc 呼叫,才能呼叫佇列 DPC 物件的 KeInsertQueueDpcIoRequestDpc

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

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

要求

要求 價值
最低支援的用戶端 從 Windows 2000 開始提供。
目標平臺 普遍
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
連結庫 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 任何層級

另請參閱

IoRequestDpc

KeGetCurrentProcessorNumber

KeInitializeDpc

KeInsertQueueDpc

KeSetImportanceDpc

KeSetTargetProcessorDpcEx