Freigeben über


RTL_SPLAY_LINKS-Struktur (ntddk.h)

Die RTL_SPLAY_LINKS-Struktur ist eine undurchsichtige Struktur und wird vom System verwendet, um einen Knoten der Wiedergabelinkstruktur darzustellen.

Syntax

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

Member

Parent

Ein undurchsichtiger Zeiger auf den übergeordneten Knoten für diesen Knoten. Wenn nur ein Knoten in der Splaylinkstruktur vorhanden ist, ist der Wert dieses Members NULL.

LeftChild

Ein undurchsichtiger Zeiger auf den linken untergeordneten Knoten für diesen Knoten. Wenn kein links untergeordneter Knoten vorhanden ist, ist der Wert dieses Members NULL.

RightChild

Ein undurchsichtiger Zeiger auf den richtigen untergeordneten Knoten für diesen Knoten. Wenn kein rechts untergeordneter Knoten vorhanden ist, ist der Wert dieses Members NULL.

Hinweise

In der Regel besteht jeder Knoten einer Splaylinkstruktur aus einer benutzerdefinierten Struktur. Jeder dieser benutzerdefinierten Knoten muss eine initialisierte RTL_SPLAY_LINKS-Struktur enthalten. Um eine RTL_SPLAY_LINKS-Struktur zu initialisieren, rufen Sie das Makro RtlInitializeSplayLinks auf. (Übergeben Sie die Adresse des RTL_SPLAY_LINKS Members, das in der benutzerdefinierten Struktur enthalten ist.)

Für eine Splaylinkstruktur mit mindestens einem Knoten wird ein neuer Knoten im Allgemeinen wie folgt initialisiert:

  1. Verwenden Sie RtlLeftChild und/oder RtlRightChild , um die Einfügemarke für den neuen Knoten zu finden. Das heißt, rufen Sie die richtige Adresse des übergeordneten Knotens für den neuen Knoten ab. (Der neue Knoten wird entweder links vom übergeordneten Knoten oder rechts angefügt.)
  2. Verwenden Sie RtlInitializeSplayLinks , um den neuen Knoten mit der Adresse des übergeordneten Knotens zu initialisieren, die im vorherigen Schritt gefunden wurde.
  3. Fügen Sie den neuen Knoten in die Wiedergabestruktur ein, indem Sie entweder RtlInsertAsLeftChild oder RtlInsertAsRightChild verwenden.
  4. Rufen Sie RtlSplay mit der Adresse des neuen Knotens auf. (Der neue Knoten wird zum Stamm der Splay-Struktur.)
Anrufer der Rtl Xxx-Splaybaumroutinen sind für die Synchronisierung des Zugriffs auf die Splay-Struktur verantwortlich. Weitere Informationen zum Synchronisieren des Zugriffs auf die Wiedergabestruktur finden Sie unter Sperren, Deadlocks und Synchronisierung und Verwalten von Hardwareprioritäten.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in allen unterstützten Versionen von Windows.
Kopfzeile ntddk.h (include Fltkernel.h, Ntifs.h, Ntddk.h)

Weitere Informationen

RtlInitializeSplayLinks

RtlInsertAsLeftChild

RtlInsertAsRightChild

RtlLeftChild

RtlRightChild

RtlSplay