Freigeben über


RemoveTailList-Funktion (wdm.h)

Die RemoveTailList-Routine entfernt einen Eintrag vom Ende einer doppelt verknüpften Liste LIST_ENTRY Strukturen.

Syntax

PLIST_ENTRY RemoveTailList(
  [in, out] PLIST_ENTRY ListHead
);

Parameter

[in, out] ListHead

Zeiger auf die LIST_ENTRY-Struktur , die als Listenheader dient.

Rückgabewert

RemoveTailList gibt einen Zeiger auf den Eintrag zurück, der sich am Ende der Liste befand. Wenn die Liste leer ist, gibt RemoveTailListListHead zurück.

Hinweise

RemoveTailList entfernt den letzten Eintrag aus der Liste, indem ListHead-Blink> so festgelegt wird, dass er auf den vorletzten Eintrag in der Liste verweist. Die Routine legt das Flink-Element des neuen ersten Eintrags auf ListHead fest. Für den Fall, dass die Liste leer ist, ist dies effektiv ein No-Op.

Informationen zur Verwendung dieser Routine beim Implementieren einer doppelt verknüpften Liste finden Sie unter Singly und Doubly Linked Listen.

Aufrufer von InsertHeadList können in jedem IRQL ausgeführt werden. Wenn InsertHeadList unter IRQL >= DISPATCH_LEVEL aufgerufen wird, müssen der Speicher für ListHead und die Listeneinträge resident sein.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 2000.
Zielplattform Desktop
Kopfzeile wdm.h (include Wdm.h, Ntddk.h, Ntifs.h, Wudfwdm.h)
IRQL Beliebige Ebene (siehe Abschnitt "Hinweise")

Weitere Informationen

InitializeListHead

IsListEmpty

RemoveEntryList

RemoveHeadList