Freigeben über


KeSetTargetProcessorDpc-Funktion (wdm.h)

Die KeSetTargetProcessorDpc Routine gibt den Prozessor an, auf dem eine DPC-Routine ausgeführt wird.

Syntax

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

Parameter

[in, out] Dpc

Zeiger auf das DPC-Objekt des Aufrufers, das KeInitializeDpc bereits initialisiert.

[in] Number

Gibt die nullbasierte Anzahl des Zielprozessors an, auf dem der DPC in die Warteschlange gestellt und ausgeführt werden soll.

Rückgabewert

Nichts

Bemerkungen

Auf Multiprozessorsystemen verfügt jeder Prozessor über eine eigene DPC-Warteschlange. Die KeSetTargetProcessorDpc Routine gibt an, welche Warteschlange des Prozessors das System verwenden soll, wenn der Treiber KeInsertQueueDpc oder IoRequestDpc aufruft, um einen DPC in die Warteschlange zu stellen, der später ausgeführt werden soll.

Ab Windows Vista können Sie auch KeSetTargetProcessorDpc- verwenden, um den Zielprozessor für threaded DPCsanzugeben.

Ein Aufruf von KeSetTargetProcessorDpcEx, der auftritt, nachdem ein DPC-Objekt in die Warteschlange gestellt wurde, hat keine Auswirkungen auf die Auswahl eines Prozessors für die DPC-Routine, auf der ausgeführt werden soll. Um die Auswahl des Zielprozessors zu steuern, muss ein KeSetTargetProcessorDpc Aufruf erfolgen, bevor der Aufruf an KeInsertQueueDpc oder IoRequestDpc in die Warteschlange gestellt wird, die das DPC-Objekt in die Warteschlange stellt.

Weitere Informationen zu DPC-Warteschlangen finden Sie unter Organisation von DPC-Warteschlangen.

Windows 7 und höhere Versionen von Windows unterstützen Prozessorgruppen. Treiber, die für die Verarbeitung von Informationen zu Prozessorgruppen konzipiert sind, sollten die KeSetTargetProcessorDpcEx Routine verwenden, die eine Prozessorgruppe angibt, anstatt KeSetTargetProcessorDpc-, was nicht. Die Implementierung von KeSetTargetProcessorDpc- in Windows 7 und höheren Versionen von Windows bietet jedoch Kompatibilität für Treiber, die für frühere Versionen von Windows geschrieben wurden, die keine Prozessorgruppen unterstützen. Wenn Number in dieser Implementierung kleiner als die Anzahl der aktiven logischen Prozessoren in Gruppe 0 ist, KeSetTargetProcessorDpc das Ziel für den DPC auf den Prozessor in Gruppe 0 fest, der durch Numberangegeben wird. Andernfalls ändert sich das DPC-Ziel nicht.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Ab Windows 2000 verfügbar.
Zielplattform- Universal
Header- wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- Beliebige Ebene

Siehe auch

IoRequestDpc

KeGetCurrentProcessorNumber

KeInitializeDpc

KeInsertQueueDpc

KeSetImportanceDpc

KeSetTargetProcessorDpcEx