Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

LIST_ENTRY structure (ntdef.h)

A LIST_ENTRY structure describes an entry in a doubly linked list or serves as the header for such a list.

Syntax

typedef struct _LIST_ENTRY {
 struct _LIST_ENTRY *Flink;
 struct _LIST_ENTRY *Blink;
} LIST_ENTRY, *PLIST_ENTRY, PRLIST_ENTRY;

Members

Flink

For a LIST_ENTRY structure that serves as a list entry, the Flink member points to the next entry in the list or to the list header if there is no next entry in the list.

For a LIST_ENTRY structure that serves as the list header, the Flink member points to the first entry in the list or to the LIST_ENTRY structure itself if the list is empty.

Blink

For a LIST_ENTRY structure that serves as a list entry, the Blink member points to the previous entry in the list or to the list header if there is no previous entry in the list.

For a LIST_ENTRY structure that serves as the list header, the Blink member points to the last entry in the list or to the LIST_ENTRY structure itself if the list is empty.

Remarks

A LIST_ENTRY structure that describes the list head must have been initialized by calling InitializeListHead.

A driver can access the Flink or Blink members of a LIST_ENTRY, but the members must only be updated by the system routines supplied for this purpose.

For more information about how to use LIST_ENTRY structures to implement a doubly linked list, see Singly and Doubly Linked Lists.

Requirements

Requirement Value
Header ntdef.h (include Wdm.h, Ntddk.h)

See also

ExInterlockedInsertHeadList

ExInterlockedInsertTailList

ExInterlockedRemoveHeadList

InitializeListHead

InsertHeadList

InsertTailList

IsListEmpty

RemoveEntryList

RemoveHeadList

RemoveTailList


Feedback

Was this page helpful?

Additional resources