Freigeben über


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.

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")
DDI-Complianceregeln IoAllocateFree(wdm), IoReuseIrp(wdm), MarkingQueuedIrps(wdm), RemoveLockCheck(wdm), RemoveLockForward(wdm), RemoveLockForward2(wdm), RemoveLockForwardDeviceControl(wdm), RemoveLockForwardDeviceControl2(wdm), RemoveLockForwardDeviceControlInternal(wdm), RemoveLockForwardDeviceControlInternal2(wdm), RemoveLockForwardRead(wdm), RemoveLockForwardRead2(wdm) , RemoveLockForwardWrite(wdm), RemoveLockForwardWrite2(wdm), RemoveLockRelease2(wdm), RemoveLockReleaseCleanup(wdm), RemoveLockReleaseClose(wdm), RemoveLockReleaseCreate(wdm), RemoveLockReleaseDeviceControl(wdm), RemoveLockReleaseInternalDeviceControl(wdm), RemoveLockReleasePower(wdm), RemoveLockReleaseRead(wdm), RemoveLockReleaseShutdown(wdm), RemoveLockReleaseSystemControl(wdm), RemoveLockReleaseWrite(wdm)

Weitere Informationen

ExInterlockedInsertHeadList

InitializeListHead

InsertTailList

IsListEmpty

RemoveHeadList

RemoveTailList