KeRundownQueue-Funktion (ntifs.h)
Die KeRundownQueue Routine bereinigt ein Warteschlangenobjekt und löscht alle in die Warteschlange gestellten Einträge.
Syntax
PLIST_ENTRY KeRundownQueue(
[in, out] PRKQUEUE Queue
);
Parameter
[in, out] Queue
Zeiger auf ein initialisiertes Warteschlangenobjekt, für das der Aufrufer residenten Speicher im nicht ausgelagerten Pool bereitstellt.
Rückgabewert
Wenn die Warteschlange leer ist, gibt KeRundownQueueNULL-zurück; andernfalls wird die Adresse des ersten Eintrags in der Warteschlange zurückgegeben.
Bemerkungen
Dateisysteme rufen KeRundownQueue auf, um alle Einträge aus einer Warteschlange zu verwerfen, bevor das Warteschlangenobjekt freigegeben oder erneut verwendet wird.
Wenn das Warteschlangenobjekt wiederverwendet werden soll, muss der Aufrufer KeInitializeQueue aufrufen, nachdem KeRundownQueueaufgerufen wurde, um das Warteschlangenobjekt erneut zu initialisieren, bevor es erneut verwendet wird.
KeRundownQueue gibt keine Informationen darüber zurück, wie viele in die Warteschlange eingereihte Einträge verworfen werden.
Ab Windows 7 KeRundownQueue alle Threads, die derzeit auf das Warteschlangenobjekt warten, mit STATUS_ABANDONED aktiviert. Nach der Rückgabe von dieser Funktion schlagen alle zukünftigen Threads, die versuchen, auf diese Warteschlange zu warten, sofort mit STATUS_ABANDONED fehl.
Vor Windows 7 KeRundownQueue keine Wartethreads reaktivieren, als die Warteschlange ausgeführt wurde. Um die Möglichkeit zu vermeiden, Threads für immer auf diesen Betriebssystemversionen warten zu lassen, sollten KeRundownQueue niemals für eine Warteschlange aufgerufen werden, wenn Threads auf das Warteschlangenobjekt warten.
Weitere Informationen zur Verwendung von vom Treiber verwalteten internen Warteschlangen finden Sie unter Driver-Managed Warteschlangen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Header- | ntifs.h (einschließlich Ntifs.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | <= DISPATCH_LEVEL |