InsertTailList function

The InsertTailList routine inserts an entry at the tail of a doubly linked list of LIST_ENTRY structures.

Syntax

void InsertTailList(
  PLIST_ENTRY                  ListHead,
  __drv_aliasesMem PLIST_ENTRY Entry
);

Parameters

ListHead

Pointer to the LIST_ENTRY structure that represents the head of the list.

Entry

Pointer to a LIST_ENTRY structure that represents the entry to be inserted in the list.

Return value

None

Remarks

InsertTailList updates ListHead->Blink to point to Entry. It updates Entry->Blink to point to the old last entry in the list, and sets Entry->Flink to ListHead. The Flink of the previous last entry is updated to point to Entry as well.

For information about using this routine when implementing a doubly linked list, see Singly and Doubly Linked Lists.

Callers of InsertTailList can be running at any IRQL. If InsertTailList is called at IRQL >= DISPATCH_LEVEL, the storage for ListHead and the list entries must be resident.

Requirements

   
Minimum supported client Available starting with Windows 2000.
Target Platform Desktop
Header wdm.h (include Wdm.h, Ntddk.h, Ntifs.h, Wudfwdm.h)
IRQL Any level (see Remarks section)

See also

ExInterlockedInsertTailList

InitializeListHead

InsertHeadList

IsListEmpty

RemoveHeadList

RemoveTailList