次の方法で共有


LIST_ENTRY 構造体 (ntdef.h)

LIST_ENTRY構造体は、二重にリンクされたリスト内のエントリを記述するか、そのようなリストのヘッダーとして機能します。

構文

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

メンバー

Flink

リスト エントリとして機能する LIST_ENTRY 構造体の場合、 Flink メンバーはリスト内の次のエントリを指し、リスト内に次のエントリがない場合はリスト ヘッダーを指します。

リスト ヘッダーとして機能する LIST_ENTRY 構造体の場合、 Flink メンバーはリスト内の最初のエントリを指し、リストが空の場合はLIST_ENTRY構造体自体を指します。

Blink

リスト エントリとして機能する LIST_ENTRY 構造体の場合、 Blink メンバーはリスト内の前のエントリを指し、リスト内に以前のエントリがない場合はリスト ヘッダーを指します。

リスト ヘッダーとして機能する LIST_ENTRY 構造体の場合、 Blink メンバーはリスト内の最後のエントリを指し、リストが空の場合は LIST_ENTRY 構造体自体を指します。

注釈

リスト ヘッドを記述する LIST_ENTRY 構造体は、 InitializeListHead を呼び出すことによって初期化されている必要があります。

ドライバーは、LIST_ENTRYFlink または Blink メンバーにアクセスできますが、メンバーは、この目的のために指定されたシステム ルーチンによってのみ更新する必要があります。

LIST_ENTRY構造体を使用して二重リンク リストを実装する方法の詳細については、「Singly および Do2ly Linked Lists」を参照してください。

要件

要件
Header ntdef.h (Wdm.h、Ntddk.h を含む)

こちらもご覧ください

ExInterlockedInsertHeadList

ExInterlockedInsertTailList

ExInterlockedRemoveHeadList

InitializeListHead

InsertHeadList

InsertTailList

IsListEmpty

RemoveEntryList

RemoveHeadList

RemoveTailList