The LIST_ENTRY structure is available for any entry in a double-linked list.
typedef struct _LIST_ENTRY { // le struct _LIST_ENTRY *Flink; struct _LIST_ENTRY *Blink; } LIST_ENTRY;
This structure can be used as the beginning of a double-linked list or as any subsequent entry in the list.