KeSetImportanceDpc-Funktion (wdm.h)
Die KeSetImportanceDpc Routine gibt an, wie bald die DPC-Routine ausgeführt wird.
Syntax
void KeSetImportanceDpc(
[in, out] PRKDPC Dpc,
[in] KDPC_IMPORTANCE Importance
);
Parameter
[in, out] Dpc
Zeiger auf das DPC-Objekt des Aufrufers, das KeInitializeDpc bereits initialisiert.
[in] Importance
Gibt einen der folgenden systemdefinierten Werte an, um das Verhalten von KeInsertQueueDpc- und IoRequestDpc- zu bestimmen, wenn eine der Routinen verwendet wird, um den DPC in die Warteschlange zu stellen.
LowImportance
Platzieren Sie den DPC am Ende der DPC-Warteschlange, und beginnen Sie nicht mit der Verarbeitung der Warteschlange.
MediumImportance
Platzieren Sie den DPC am Ende der DPC-Warteschlange. Wenn der DPC der DPC-Warteschlange des aktuellen Prozessors zugewiesen ist, beginnen Sie sofort mit der Verarbeitung der Warteschlange. MediumImportance- ist der Standardwert für Importance.
MediumHighImportance
Platzieren Sie den DPC am Ende der DPC-Warteschlange, und beginnen Sie sofort mit der Verarbeitung der Warteschlange. MediumHighImportance ist nur unter Windows Vista und höheren Versionen von Windows verfügbar.
HighImportance
Platzieren Sie den DPC am Anfang der DPC-Warteschlange, und beginnen Sie sofort mit der Verarbeitung der Warteschlange.
Rückgabewert
Nichts
Bemerkungen
Die KeSetImportanceDpc Routine beeinflusst, wie bald ein DPC ausgeführt wird, nachdem es in die Warteschlange eingereiht wurde, indem bestimmt wird:
- Die Position des DPC in der DPC-Warteschlange. In der Regel platzieren die KeInsertQueueDpc und IoRequestDpc Routinen einen DPC am Ende der Warteschlange. Wenn ein Treiber zuerst KeSetImportanceDpc mit Importance = HighImportanceaufruft, KeInsertQueueDpc und IoRequestDpc- platziert den DPC am Anfang der Warteschlange.
- Wenn das System mit der Verarbeitung der DPC-Warteschlange beginnt. In der Regel KeInsertQueueDpc und IoRequestDpc sofort mit der Verarbeitung der DPC-Warteschlange für den aktuellen Prozessor beginnen. Treiber können unterschiedliche Werte für Wichtigkeits- angeben, um dieses Verhalten zu ändern.
Für Windows Vista und höhere Versionen des Windows-Betriebssystems können Sie KeSetImportanceDpc- für Thread-DPCs verwenden. Wenn der Aufrufer Wichtigkeit auf HighImportance-festlegt, wird der DPC am Anfang der Warteschlange platziert; andernfalls wird sie am Ende platziert. Die Routine wirkt sich nicht auf die Verarbeitung der DPC-Threadwarteschlange aus. Thread-DPCs werden immer von einem dedizierten Thread bei IRQL = PASSIVE_LEVEL verarbeitet. Weitere Informationen zu Thread-DPCs finden Sie unter Einführung in Threaded DPCs.
Beachten Sie, dass ein Treiber KeSetImportanceDpc- aufrufen muss, bevor er KeInsertQueueDpc aufruft, und IoRequestDpc, um irgendeine Wirkung zu haben.
Weitere Informationen dazu, wie das System die DPC-Warteschlange verarbeitet, finden Sie unter Organisation von DPC-Warteschlangen.
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 |