Поделиться через


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

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

Синтаксис

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

Параметры

[in] ParentLinks

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

[in] ChildLinks

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

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

Никакой

Замечания

Вызывающие 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, если дерево ссылок воспроизведения и узел ChildLinks не попагнут. Обычно вызывающие элементы выполняются в IRQL PASSIVE_LEVEL.

Требования

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

См. также

RtlInitializeSplayLinks

RtlInsertAsRightChild

RtlIsRoot

RtlLeftChild

RtlParent

RtlSplay