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 :
- 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.)
- Utilisez RtlInitializeSplayLinks pour initialiser le nouveau nœud avec l’adresse du nœud parent trouvé à l’étape précédente.
- Insérez le nouveau nœud dans l’arborescence de lecture en utilisant RtlInsertAsLeftChild ou RtlInsertAsRightChild, le cas échéant.
- Appelez RtlSplay avec l’adresse du nouveau nœud. (Le nouveau nœud devient la racine de l’arborescence de lecture.)
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) |