Partager via


RtlInsertAsLeftChild, fonction (ntddk.h)

La routine RtlInsertAsLeftChild insère un nœud de lien de lecture dans l’arborescence en tant qu’enfant gauche du nœud spécifié.

Syntaxe

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

Paramètres

[in] ParentLinks

Pointeur vers le nœud dans l’arborescence à laquelle ChildLinks doivent être insérés en tant qu’enfant gauche.

[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

Aucun

Remarques

Les appelants de RtlInsertAsLeftChild doivent respecter les critères suivants :

  • Le nœud à ParentLinks ne doit pas avoir d’enfant gauche.

    Un appelant peut déterminer si le nœud a déjà un enfant gauche en appelant RtlLeftChild. Si RtlLeftChild retourne NULL, ParentLinks est un paramètre valide pour RtlInsertAsLeftChild.

  • Le nœud à 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’elle est appelée avec ChildLinks, ChildLinks est un paramètre valide pour RtlInsertAsLeftChild. Si RtlParent retourne un pointeur équivalent vers ChildLinks, ChildLinks est un paramètre valide pour RtlInsertAsLeftChild.

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

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

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête ntddk.h (include Ntddk.h, Ntifs.h)
IRQL Voir la section Remarques.

Voir aussi

RtlInitializeSplayLinks

RtlInsertAsRightChild

RtlIsRoot

RtlLeftChild

RtlParent

RtlSplay