LIST_ENTRY
Windows Driver Kit: Kernel-Mode Driver Architecture
LIST_ENTRY

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

typedef struct _LIST_ENTRY {
  struct _LIST_ENTRY *Flink;
  struct _LIST_ENTRY *Blink;
} LIST_ENTRY, *PLIST_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.

Comments

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

Headers: Declared in ntdef.h. Include Wdm.h or Ntddk.h.

See Also

ExInterlockedInsertHeadList, ExInterlockedInsertTailList, ExInterlockedRemoveHeadList, InitializeListHead, InsertHeadList, InsertTailList, IsListEmpty, RemoveEntryList, RemoveHeadList, RemoveTailList

Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
further info on kernel mode linked lists      rtshiva   |   Edit   |   Show History
this article may help on how to use this LIST_ENTRY structure

Tags What's this?: linked (x) list (x) Add a tag
Flag as ContentBug
Processing
Page view tracker