RtlInsertAsLeftChild-Funktion (ntddk.h)

Die RtlInsertAsLeftChild-Routine fügt einen Splaylinkknoten als das linke untergeordnete Element des angegebenen Knotens in die Struktur ein.

Syntax

void RtlInsertAsLeftChild(
  [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 linke untergeordnete Element eingefügt werden soll.

[in] ChildLinks

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

Rückgabewert

Keine

Bemerkungen

Anrufer von RtlInsertAsLeftChild müssen die folgenden Kriterien erfüllen:

  • Der Knoten bei ParentLinks darf nicht über ein untergeordnetes Element verfügen.

    Ein Aufrufer kann feststellen, ob der Knoten bereits über ein untergeordnetes Element verfügt, indem er RtlLeftChild aufruft. Wenn RtlLeftChildNULL zurückgibt, ist ParentLinks ein gültiger Parameter für RtlInsertAsLeftChild.

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

    Ein Aufrufer kann feststellen, 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 RtlInsertAsLeftChild. Wenn RtlParent einen entsprechenden Zeiger auf ChildLinks zurückgibt, ist ChildLinks ein gültiger Parameter für RtlInsertAsLeftChild.

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

Aufrufer von RtlInsertAsLeftChild müssen unter IRQL <= DISPATCH_LEVEL ausgeführt werden, wenn die Splaylinkstruktur und der ChildLinks-Knoten nicht aus der Seite stehen. 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

RtlInsertAsRightChild

RtlIsRoot

RtlLeftChild

RtlParent

RtlSplay