Condividi tramite


Funzione RtlInsertAsRightChild (ntddk.h)

La routine RtlInsertAsRightChild inserisce un determinato collegamento di riproduzione nell'albero come figlio destro di un determinato nodo in tale albero.

Sintassi

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

Parametri

[in] ParentLinks

Puntatore al nodo nell'albero in cui childLinks deve essere inserito come elemento figlio destro.

[in] ChildLinks

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

Valore restituito

Nessuno

Osservazioni

I chiamanti di RtlInsertAsRightChild sono responsabili di soddisfare i criteri seguenti:

  • Il nodo in parentLinks non deve avere un figlio corretto.

    Un chiamante può determinare se il nodo ha già un figlio corretto chiamando RtlRightChild. Se RtlRightChild restituisce NULL, ParentLinks è un parametro valido per RtlInsertAsRightChild.

  • Il nodo in childLinks non deve avere un 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 RtlInsertAsRightChild. Se RtlParent restituisce un puntatore equivalente a ChildLinks, ChildLinks è anche un parametro valido per RtlInsertAsRightChild.

I chiamanti della Rtl routine di collegamento 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 RtlInsertAsRightChild devono essere eseguiti in IRQL <= DISPATCH_LEVEL se l'albero dei collegamenti di riproduzione e nodo ChildLinks non sono di pagina. In genere, i chiamanti vengono eseguiti in PASSIVE_LEVEL IRQL.

Fabbisogno

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

Vedere anche

RtlInitializeSplayLinks

RtlInsertAsLeftChild

RtlIsRoot

RtlParent

RtlRightChild

RtlSplay