RTL_SPLAY_LINKS structure (ntddk.h)

La structure RTL_SPLAY_LINKS est une structure opaque qui est utilisée par le système pour représenter un nœud d’arborescence de liens de lecture.

Syntaxe

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

Membres

Parent

Pointeur opaque vers le nœud parent pour ce nœud. S’il n’existe qu’un seul nœud dans l’arborescence de liens de lecture, la valeur de ce membre est NULL.

LeftChild

Pointeur opaque vers le nœud enfant gauche pour ce nœud. S’il n’existe aucun nœud enfant gauche, la valeur de ce membre est NULL.

RightChild

Pointeur opaque vers le nœud enfant droit pour ce nœud. S’il n’existe aucun nœud enfant droit, la valeur de ce membre est NULL.

Remarques

En règle générale, chaque nœud d’une arborescence de liens de lecture se compose d’une structure définie par l’utilisateur. Chaque nœud défini par l’utilisateur doit contenir une structure RTL_SPLAY_LINKS initialisée. Pour initialiser une structure RTL_SPLAY_LINKS, appelez la macro RtlInitializeSplayLinks . (Transmettez l’adresse du membre RTL_SPLAY_LINKS contenu dans la structure définie par l’utilisateur.)

Pour une arborescence de liens de lecture avec un ou plusieurs nœuds, un nouveau nœud est généralement initialisé comme suit :

  1. Utilisez RtlLeftChild et/ou RtlRightChild pour trouver le point d’insertion du nouveau nœud. Autrement dit, obtenez l’adresse correcte du nœud parent pour le nouveau nœud. (Le nouveau nœud sera attaché à gauche du nœud parent ou à droite.)
  2. Utilisez RtlInitializeSplayLinks pour initialiser le nouveau nœud avec l’adresse du nœud parent trouvé à l’étape précédente.
  3. Insérez le nouveau nœud dans l’arborescence de lecture en utilisant RtlInsertAsLeftChild ou RtlInsertAsRightChild, le cas échéant.
  4. Appelez RtlSplay avec l’adresse du nouveau nœud. (Le nouveau nœud devient la racine de l’arborescence de lecture.)
Les appelants des routines d’arborescence de lecture RtlXxx sont responsables de la synchronisation de l’accès à l’arborescence de lecture. Pour plus d’informations sur la synchronisation de l’accès à l’arborescence de lecture, consultez Verrous, interblocages et synchronisation et gestion des priorités matérielles.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans toutes les versions prises en charge de Windows.
En-tête ntddk.h (inclure Fltkernel.h, Ntifs.h, Ntddk.h)

Voir aussi

RtlInitializeSplayLinks

RtlInsertAsLeftChild

RtlInsertAsRightChild

RtlLeftChild

RtlRightChild

RtlSplay