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


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

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

Синтаксис

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

Параметры

[in] ParentLinks

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

[in] ChildLinks

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

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

Никакой

Замечания

Вызывающие RtlInsertAsRightChild отвечают за соблюдение следующих критериев:

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

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

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

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

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

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

Требования

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

См. также

RtlInitializeSplayLinks

RtlInsertAsLeftChild

RtlIsRoot

RtlParent

RtlRightChild

RtlSplay