STOR_LIST_ENTRY structure (storport.h)

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

Syntax

typedef struct _STOR_LIST_ENTRY {
  struct _STOR_LIST_ENTRY *Flink;
  struct _STOR_LIST_ENTRY *Blink;
} STOR_LIST_ENTRY, *PSTOR_LIST_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 STOR_LIST_ENTRY structure that describes the list head must have been initialized by calling StorPortInitializeListHead.

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

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

Requirements

Requirement Value
Header storport.h (include Storport.h)

See also

InitializeListHead

InsertHeadList

InsertTailList

IsListEmpty

RemoveEntryList

RemoveHeadList

RemoveTailList

StorPortInterlockedInsertHeadList

StorPortInterlockedInsertTailList

StorPortInterlockedRemoveHeadList