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

Community Content

further info on kernel mode linked lists
Added by:rtshiva
this article may help on how to use this LIST_ENTRY structure

http://www.osronline.com/article.cfm?id=499
© 2009 Microsoft Corporation. All rights reserved.   Terms of Use | Trademarks | Privacy Statement
Page view tracker
Rate the Lightweight library
x
Lightweight builds on ScriptFree (loband) by adding features you've requested: a SearchBox and default code language selection.
Do you like the SearchBox?
Do you like the tabbed code blocks?
How useful is this topic?
Tell us more.
Thanks
x
You're helping to improve MSDN Online.
Feedback
Switch View
Classic
Lightweight Beta
ScriptFree
Switch View