Función RtlInsertAsLeftChild (ntddk.h)

La rutina RtlInsertAsLeftChild inserta un nodo de vínculo de reproducción en el árbol como elemento secundario izquierdo del nodo especificado.

Sintaxis

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

Parámetros

[in] ParentLinks

Puntero al nodo del árbol en el que se deben insertar ChildLinks como elemento secundario izquierdo.

[in] ChildLinks

Puntero al nodo de vínculo de reproducción que se va a insertar en el árbol. El nodo debe haberse inicializado llamando a RtlInitializeSplayLinks.

Valor devuelto

Ninguno

Observaciones

Los autores de llamadas de RtlInsertAsLeftChild deben cumplir los siguientes criterios:

  • El nodo de ParentLinks no debe tener ningún elemento secundario izquierdo.

    Un llamador puede determinar si el nodo ya tiene un elemento secundario izquierdo llamando a RtlLeftChild. Si RtlLeftChild devuelve NULL, ParentLinks es un parámetro válido para RtlInsertAsLeftChild.

  • El nodo de ChildLinks no debe tener ningún elemento primario.

    Un llamador puede determinar si este nodo ya tiene un elemento primario llamando a RtlIsRoot o RtlParent. Si RtlIsRoot devuelve TRUE cuando se llama con ChildLinks, ChildLinks es un parámetro válido para RtlInsertAsLeftChild. Si RtlParent devuelve un puntero equivalente a ChildLinks, ChildLinks es un parámetro válido para RtlInsertAsLeftChild.

Los autores de llamadas de las rutinas de vínculo de reproducción rtl son responsables de sincronizar el acceso al árbol de vínculos de reproducción. Una exclusión mutua rápida es el mecanismo de sincronización más eficaz que se usará para este propósito.

Los autores de llamadas de RtlInsertAsLeftChild deben ejecutarse en IRQL <= DISPATCH_LEVEL si el árbol de vínculos de reproducción y el nodo ChildLinks no están paginados. Normalmente, los autores de llamadas se ejecutan en irQL PASSIVE_LEVEL.

Requisitos

   
Plataforma de destino Escritorio
Header ntddk.h (include Ntddk.h, Ntifs.h)
IRQL vea la sección Comentarios.

Consulte también

RtlInitializeSplayLinks

RtlInsertAsRightChild

RtlIsRoot

RtlLeftChild

RtlParent

RtlSplay