KeSetTargetProcessorDpc-Funktion (ntddk.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 hat.
[in] Number
Gibt die nullbasierte Nummer des Zielprozessors an, auf dem der DPC in die Warteschlange gestellt und ausgeführt werden soll.
Rückgabewert
Keine
Bemerkungen
Auf Multiprozessorsystemen verfügt jeder Prozessor über eine eigene DPC-Warteschlange. Die KeSetTargetProcessorDpc-Routine gibt an, welche Prozessorwarteschlange das System verwenden soll, wenn der Treiber KeInsertQueueDpc oder IoRequestDpc aufruft, um einen später auszuführenden DPC in die Warteschlange zu stellen.
Ab Windows Vista können Sie auch KeSetTargetProcessorDpc verwenden, um den Zielprozessor für Thread-DPCs anzugeben.
Ein Aufruf von KeSetTargetProcessorDpc , der auftritt, nachdem ein DPC-Objekt in die Warteschlange gestellt wurde, hat keine Auswirkungen auf die Auswahl eines Prozessors für die Ausführung der DPC-Routine. Um die Auswahl des Zielprozessors zu steuern, muss vor dem Aufruf von KeInsertQueueDpc oder IoRequestDpc, der das DPC-Objekt in die Warteschlange stellt, ein KeSetTargetProcessorDpc-Aufruf erfolgen.
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, anstelle von KeSetTargetProcessorDpc, was nicht der Fall ist. 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 In dieser Implementierung Number kleiner als die Anzahl der aktiven logischen Prozessoren in Gruppe 0 ist, legt KeSetTargetProcessorDpc das Ziel für den DPC auf den Prozessor in Gruppe 0 fest, der durch Zahl angegeben wird. Andernfalls ändert sich das DPC-Ziel nicht.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows 2000. |
Zielplattform | Universell |
Header | ntddk.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Beliebige Ebene |