RTL_SPLAY_LINKS 結構 (ntddk.h)

RTL_SPLAY_LINKS 結構是不透明的結構,由系統用來表示splay連結樹狀節點。

語法

typedef struct _RTL_SPLAY_LINKS {
  struct _RTL_SPLAY_LINKS *Parent;
  struct _RTL_SPLAY_LINKS *LeftChild;
  struct _RTL_SPLAY_LINKS *RightChild;
} RTL_SPLAY_LINKS;

成員

Parent

這個節點之父節點的不透明指標。 如果splay連結樹狀結構中只有一個節點存在,則此成員的值為 NULL

LeftChild

這個節點左子節點的不透明指標。 如果沒有左子節點存在,則此成員的值為 NULL

RightChild

這個節點右子節點的不透明指標。 如果沒有任何右子節點存在,則此成員的值為 NULL

備註

一般而言,splay 連結樹狀結構的每個節點都包含使用者定義的結構。 每個這類使用者定義節點都必須包含初始化RTL_SPLAY_LINKS結構。 若要初始化RTL_SPLAY_LINKS結構,請呼叫 RtlInitializeSplayLinks 宏。 (傳遞包含在使用者定義結構內之RTL_SPLAY_LINKS成員的位址。)

對於具有一或多個節點的splay連結樹狀結構,新的節點通常會初始化,如下所示:

  1. 使用 RtlLeftChild 和/或 RtlRightChild 尋找新節點的插入點。 也就是說,取得新節點之父節點的正確位址。 (新節點會附加至父節點左邊或右側。)
  2. 使用 RtlInitializeSplayLinks ,以上一個步驟中找到的父節點位址,初始化新節點。
  3. 視需要使用 RtlInsertAsLeftChildRtlInsertAsRightChild,將新節點插入 splay 樹狀結構。
  4. 使用新節點的位址呼叫 RtlSplay 。 (新節點會變成splay tree.)
RtlXxx splay 樹例程的呼叫端負責同步存取 splay 樹狀結構。 如需如何同步存取splay樹狀結構的詳細資訊,請參閱鎖定、死結和同步處理和管理硬體優先順序

規格需求

需求
最低支援的用戶端 適用於所有支援的 Windows 版本。
標頭 ntddk.h (包括 Fltkernel.h、Ntifs.h、Ntddk.h)

另請參閱

RtlInitializeSplayLinks

RtlInsertAsLeftChild

RtlInsertAsRightChild

RtlLeftChild

RtlRightChild

RtlSplay