Freigeben über


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

Weitere Informationen

IoRequestDpc

KeGetCurrentProcessorNumber

KeInitializeDpc

KeInsertQueueDpc

KeSetImportanceDpc

KeSetTargetProcessorDpcEx