RemoveHeadList

PLIST_ENTRY
    RemoveHeadList(

        IN PLIST_ENTRY  ListHead
        );

RemoveHeadList removes an entry from the head of a doubly linked list.

Parameters

ListHead
Points to the driver-allocated storage for the head of the list.

The ListHead of type LIST_ENTRY is doubly linked.

Return Value

RemoveHeadList returns a pointer to the entry at the head of the list or a NULL pointer if the list is currently empty.

Comments

Callers of RemoveHeadList 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

ExInterlockedRemoveHeadList, InitializeListHead, IsListEmpty, RemoveTailList, RemoveEntryList