RtlInsertAsRightChild-Funktion (ntddk.h)

Die RtlInsertAsRightChild-Routine fügt einen angegebenen Splaylink als das rechte untergeordnete Element eines bestimmten Knotens in dieser Struktur ein.

Syntax

void RtlInsertAsRightChild(
  [in] PRTL_SPLAY_LINKS ParentLinks,
  [in] PRTL_SPLAY_LINKS ChildLinks
);

Parameter

[in] ParentLinks

Zeiger auf den Knoten in der Struktur, an dem ChildLinks als das rechte untergeordnete Element eingefügt werden soll.

[in] ChildLinks

Zeiger auf den Splaylinkknoten, der in die Struktur eingefügt werden soll. Der Knoten muss durch Aufrufen von RtlInitializeSplayLinks initialisiert worden sein.

Rückgabewert

Keine

Bemerkungen

Anrufer von RtlInsertAsRightChild sind für die Erfüllung der folgenden Kriterien verantwortlich:

  • Der Knoten unter ParentLinks darf kein untergeordnetes Recht aufweisen.

    Ein Aufrufer kann ermitteln, ob der Knoten bereits über ein rechtes untergeordnetes Element verfügt, indem er RtlRightChild aufruft. Wenn RtlRightChildNULL zurückgibt, ist ParentLinks ein gültiger Parameter für RtlInsertAsRightChild.

  • Der Knoten unter ChildLinks darf kein übergeordnetes Element aufweisen.

    Ein Aufrufer kann ermitteln, ob dieser Knoten bereits über ein übergeordnetes Element verfügt, indem er RtlIsRoot oder RtlParent aufruft. Wenn RtlIsRootTRUE zurückgibt, wenn es mit ChildLinks aufgerufen wird, ist ChildLinks ein gültiger Parameter für RtlInsertAsRightChild. Wenn RtlParent einen entsprechenden Zeiger auf ChildLinks zurückgibt, ist ChildLinks auch ein gültiger Parameter für RtlInsertAsRightChild.

Aufrufer der Rtl-Splaylinkroutinen sind für die Synchronisierung des Zugriffs auf die Splay-Linkstruktur verantwortlich. Ein schneller Mutex ist der effizienteste Synchronisierungsmechanismus, der für diesen Zweck verwendet werden kann.

Aufrufer von RtlInsertAsRightChild müssen unter IRQL <= DISPATCH_LEVEL ausgeführt werden, wenn die Splaylinkstruktur und der ChildLinks-Knoten nicht aus der Seitenseite sind. In der Regel werden Aufrufer am IRQL-PASSIVE_LEVEL ausgeführt.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile ntddk.h (include Ntddk.h, Ntifs.h)
IRQL Weitere Informationen finden Sie im Abschnitt mit den Hinweisen.

Weitere Informationen

RtlInitializeSplayLinks

RtlInsertAsLeftChild

RtlIsRoot

RtlParent

RtlRightChild

RtlSplay