Partager via


structure RTL_SPLAY_LINKS (ntddk.h)

La structure RTL_SPLAY_LINKS est une structure opaque et est utilisée par le système pour représenter un nœud d’arborescence de liaison 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. Si un seul nœud de l’arborescence des liens de lecture existe, la valeur de ce membre est NULL .

LeftChild

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

RightChild

Pointeur opaque vers le nœud enfant approprié pour ce nœud. Si aucun nœud de droite n’existe, 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 de 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 rechercher 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 du RtlXxx routines d’arborescence de jeu sont responsables de la synchronisation de l’accès à l’arborescence de jeu. 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.

Exigences

Exigence Valeur
client minimum pris en charge Disponible dans toutes les versions prises en charge de Windows.
d’en-tête ntddk.h (include Fltkernel.h, Ntifs.h, Ntddk.h)

Voir aussi

RtlInitializeSplayLinks

RtlInsertAsLeftChild

RtlInsertAsRightChild

RtlLeftChild

RtlRightChild

RtlSplay