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 |