Condividi tramite


Funzione RtlInsertAsLeftChild (ntddk.h)

La routine RtlInsertAsLeftChild inserisce un nodo di collegamento splay nell'albero come elemento figlio sinistro del nodo specificato.

Sintassi

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

Parametri

[in] ParentLinks

Puntatore al nodo nell'albero in cui deve essere inserito ChildLinks come elemento figlio sinistro.

[in] ChildLinks

Puntatore al nodo del collegamento splay da inserire nell'albero. Il nodo deve essere stato inizializzato chiamando RtlInitializeSplayLinks.

Valore restituito

nessuno

Osservazioni

I chiamanti di RtlInsertAsLeftChild devono soddisfare i criteri seguenti:

  • Il nodo in ParentLinks non deve avere alcun elemento figlio sinistro.

    Un chiamante può determinare se il nodo ha già un elemento figlio sinistro chiamando RtlLeftChild. Se RtlLeftChild restituisce NULL, ParentLinks è un parametro valido per RtlInsertAsLeftChild.

  • Il nodo in ChildLinks non deve avere alcun elemento padre.

    Un chiamante può determinare se questo nodo ha già un elemento padre chiamando RtlIsRoot o RtlParent. Se RtlIsRoot restituisce TRUE quando viene chiamato con ChildLinks, ChildLinks è un parametro valido per RtlInsertAsLeftChild. Se RtlParent restituisce un puntatore equivalente a ChildLinks, ChildLinks è un parametro valido per RtlInsertAsLeftChild.

I chiamanti delle routine di collegamento Rtl splay sono responsabili della sincronizzazione dell'accesso all'albero dei collegamenti splay. Un mutex veloce è il meccanismo di sincronizzazione più efficiente da usare a questo scopo.

I chiamanti di RtlInsertAsLeftChild devono essere in esecuzione in IRQL <= DISPATCH_LEVEL se l'albero dei collegamenti splay e il nodo ChildLinks non vengono visualizzati. In genere, i chiamanti vengono eseguiti in irQL PASSIVE_LEVEL.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione ntddk.h (include Ntddk.h, Ntifs.h)
IRQL Vedere la sezione Osservazioni.

Vedi anche

RtlInitializeSplayLinks

RtlInsertAsRightChild

RtlIsRoot

RtlLeftChild

RtlParent

RtlSplay