RtlInsertAsLeftChild - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
#ifndef _NTRTL_H

#define RtlInsertAsLeftChild(ParentLinks, ChildLinks) \
{ \
    PRTL_SPLAY_LINKS _SplayParent; \
    PRTL_SPLAY_LINKS _SplayChild; \
    _SplayParent = (PRTL_SPLAY_LINKS)(ParentLinks); \
    _SplayChild = (PRTL_SPLAY_LINKS)(ChildLinks); \
    _SplayParent->LeftChild = _SplayChild; \
    _SplayChild->Parent = _SplayParent; \
}

#endif

View code on GitHub
// ntddk.h

VOID RtlInsertAsLeftChild(
  [in] PRTL_SPLAY_LINKS ParentLinks,
  [in] PRTL_SPLAY_LINKS ChildLinks
);
View the official Windows Driver Kit DDI reference

NtDoc

This function is documented in Windows Driver Kit.

Windows Driver Kit DDI reference (nf-ntddk-rtlinsertasleftchild)

RtlInsertAsLeftChild function

Description

The RtlInsertAsLeftChild routine inserts a splay link node into the tree as the left child of the specified node.

Parameters

Pointer to the node in the tree at which ChildLinks should be inserted as the left child.

Pointer to the splay link node to be inserted into the tree. The node must have been initialized by calling RtlInitializeSplayLinks.

Remarks

Callers of RtlInsertAsLeftChild are must meet the following criteria:

Callers of the Rtl splay link routines are responsible for synchronizing access to the splay link tree. A fast mutex is the most efficient synchronization mechanism to use for this purpose.

Callers of RtlInsertAsLeftChild must be running at IRQL <= DISPATCH_LEVEL if the splay link tree and ChildLinks node are nonpaged. Usually, callers are running at IRQL PASSIVE_LEVEL.

See also

RtlInitializeSplayLinks

RtlInsertAsRightChild

RtlIsRoot

RtlLeftChild

RtlParent

RtlSplay