InsertHeadList-Funktion (wdm.h)
Die InsertHeadList-Routine fügt einen Eintrag am Anfang einer doppelt verknüpften Liste von LIST_ENTRY-Strukturen ein.
Syntax
void InsertHeadList(
[in, out] PLIST_ENTRY ListHead,
[in, out] __drv_aliasesMem PLIST_ENTRY Entry
);
Parameter
[in, out] ListHead
Zeiger auf die LIST_ENTRY Struktur, die den Kopf der Liste darstellt.
[in, out] Entry
Zeiger auf eine LIST_ENTRY-Struktur , die den Eintrag darstellt, der in die Liste eingefügt werden soll.
Rückgabewert
Keine
Bemerkungen
InsertHeadList aktualisiert ListHead-Flink> so, dass er auf Entry verweist. Es aktualisiert Entry-Flink> so, dass er auf den alten ersten Eintrag in der Liste verweist, und legt Entry-Blink> auf ListHead fest. Das Blinkfeld des ursprünglichen ersten Eintrags wird ebenfalls aktualisiert, um auf Entry zu verweisen.
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.