Previous Next

RemoveTailList

The RemoveTailList routine removes an entry from the tail of a doubly linked list.

PLIST_ENTRY 
  RemoveTailList(
    IN PLIST_ENTRY  ListHead
    );

Parameters

ListHead
Pointer to the driver-allocated storage for a doubly linked list with entries of type LIST_ENTRY.

Return Value

RemoveTailList returns a pointer to the entry that was at the tail of the list.

Headers

Declared in wdm.h and ntddk.h. Include wdm.h or ntddk.h.

Comments

Calling RemoveTailList with an empty list can cause a system failure. Callers of RemoveTailList should first call IsListEmpty to determine if the list has any entries.

Callers of RemoveTailList can be running at IRQL >= DISPATCH_LEVEL only if the caller-allocated storage for ListHead is resident, and only if pointers to every list entry remain valid at IRQL >= DISPATCH_LEVEL as well.

See Also

InitializeListHead, IsListEmpty, RemoveHeadList, RemoveEntryList