Функция RtlInsertAsLeftChild (ntddk.h)

Подпрограмма RtlInsertAsLeftChild вставляет узел связи splay в дерево в качестве левого дочернего элемента указанного узла.

Синтаксис

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

Параметры

[in] ParentLinks

Указатель на узел в дереве, в который следует вставить ChildLinks в качестве левого дочернего элемента.

[in] ChildLinks

Указатель на узел ссылки splay, который нужно вставить в дерево. Узел должен быть инициализирован путем вызова RtlInitializeSplayLinks.

Возвращаемое значение

None

Remarks

Вызывающие элементы RtlInsertAsLeftChild должны соответствовать следующим критериям:

  • Узел ParentLinks не должен иметь левого дочернего элемента.

    Вызывающий объект может определить, есть ли у узла левый дочерний элемент, вызвав RtlLeftChild. Если RtlLeftChild возвращает значение NULL, ParentLinks является допустимым параметром для RtlInsertAsLeftChild.

  • Узел в ChildLinks не должен иметь родительского элемента.

    Вызывающий объект может определить, есть ли у этого узла родительский узел, вызвав RtlIsRoot или RtlParent. Если RtlIsRoot возвращает значение TRUE при вызове с помощью ChildLinks, childLinks является допустимым параметром для RtlInsertAsLeftChild. Если RtlParent возвращает эквивалентный указатель на ChildLinks, ChildLinks является допустимым параметром для RtlInsertAsLeftChild.

Вызывающие подпрограммы связи Rtl splay отвечают за синхронизацию доступа к дереву ссылок splay. Быстрый мьютекс является наиболее эффективным механизмом синхронизации для этой цели.

Вызывающие элементы RtlInsertAsLeftChild должны выполняться по адресу IRQL <= DISPATCH_LEVEL если дерево ссылок splay и узел ChildLinks не загружены . Как правило, вызывающие абоненты выполняются на PASSIVE_LEVEL IRQL.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть ntddk.h (включая Ntddk.h, Ntifs.h)
IRQL См. раздел "Примечания".

См. также раздел

RtlInitializeSplayLinks

RtlInsertAsRightChild

RtlIsRoot

RtlLeftChild

RtlParent

RtlSplay