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


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

RtlSplay регулярные перебалансы или "splays", дерево ссылок splay вокруг указанной ссылки splay, что делает эту связь новой корень дерева.

Синтаксис

NTSYSAPI PRTL_SPLAY_LINKS RtlSplay(
  [in, out] PRTL_SPLAY_LINKS Links
);

Параметры

[in, out] Links

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

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

RtlSplay возвращает указатель links, когда он перебалансировал дерево.

Замечания

Если L является данной ссылкой, P является родительским узлом, и G является его бабушкой и дедушкой узлом, RtlSplay перебалансирует дерево связей воспроизведения в соответствии с одним из шести шаблонов, показанных на следующем рисунке.

диаграмма, иллюстрирующая перебалансирование дерева ссылок воспроизведения, где L является данной ссылкой, P является родительским узлом, и G является его бабушкой и дедушкой.

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

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

Требования

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

См. также

RtlDelete

RtlInitializeSplayLinks

RtlInsertAsLeftChild

RtlInsertAsRightChild