This macro removes an entry from the head of a doubly-linked list.

PLIST_ENTRY RemoveHeadList(


  • ListHead
    Pointer to the driver-allocated storage for the head of the list. This parameter of type LIST_ENTRY is doubly linked.

Return Values

Returns a pointer to the head of the list. If the list is empty, RemoveHeadList returns a pointer to the head of the list and the head's pointers point to the head itself.


A driver that calls this function 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.


Runs on Versions Defined in Include Link to
Windows CE OS 2.0 and later Ntcompat.h    

Note   This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.

See Also

InitializeListHead, IsListEmpty, RemoveEntryList, RemoveTailList

 Last updated on Tuesday, July 13, 2004

© 1992-2000 Microsoft Corporation. All rights reserved.