Fonction RtlInsertAsRightChild (ntddk.h)

La routine RtlInsertAsRightChild insère un lien de lecture donné dans l’arborescence en tant qu’enfant approprié d’un nœud donné dans cette arborescence.

Syntaxe

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

Paramètres

[in] ParentLinks

Pointeur vers le nœud dans l’arborescence au niveau duquel ChildLinks doit être inséré en tant qu’enfant approprié.

[in] ChildLinks

Pointeur vers le nœud de lien de lecture à insérer dans l’arborescence. Le nœud doit avoir été initialisé en appelant RtlInitializeSplayLinks.

Valeur de retour

None

Remarques

Les appelants de RtlInsertAsRightChild sont chargés de répondre aux critères suivants :

  • Le nœud sur ParentLinks ne doit pas avoir d’enfant approprié.

    Un appelant peut déterminer si le nœud a déjà un enfant approprié en appelant RtlRightChild. Si RtlRightChild renvoie NULL, ParentLinks est un paramètre valide pour RtlInsertAsRightChild.

  • Le nœud sur ChildLinks ne doit pas avoir de parent.

    Un appelant peut déterminer si ce nœud a déjà un parent en appelant RtlIsRoot ou RtlParent. Si RtlIsRoot retourne TRUE lorsqu’il est appelé avec ChildLinks, ChildLinks est un paramètre valide pour RtlInsertAsRightChild. Si RtlParent retourne un pointeur équivalent vers ChildLinks, ChildLinks est également un paramètre valide pour RtlInsertAsRightChild.

Les appelants des routines de liens de lecture rtl sont responsables de la synchronisation de l’accès à l’arborescence de liens de lecture. Un mutex rapide est le mécanisme de synchronisation le plus efficace à utiliser à cet effet.

Les appelants de RtlInsertAsRightChild doivent être en cours d’exécution sur IRQL <= DISPATCH_LEVEL si l’arborescence de liens de lecture et le nœud ChildLinks ne sont pas paginés. En règle générale, les appelants s’exécutent sur irQL PASSIVE_LEVEL.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête ntddk.h (inclure Ntddk.h, Ntifs.h)
IRQL Consultez la section Notes.

Voir aussi

RtlInitializeSplayLinks

RtlInsertAsLeftChild

RtlIsRoot

RtlParent

RtlRightChild

RtlSplay