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


структура RTL_SPLAY_LINKS (ntddk.h)

Структура RTL_SPLAY_LINKS является непрозрачной структурой и используется системой для представления узла дерева канала воспроизведения.

Синтаксис

typedef struct _RTL_SPLAY_LINKS {
  struct _RTL_SPLAY_LINKS *Parent;
  struct _RTL_SPLAY_LINKS *LeftChild;
  struct _RTL_SPLAY_LINKS *RightChild;
} RTL_SPLAY_LINKS;

Члены

Parent

Непрозрачный указатель на родительский узел для этого узла. Если существует только один узел в дереве ссылок splay, значение этого элемента равно NULL.

LeftChild

Непрозрачный указатель на левый дочерний узел для этого узла. Если левый дочерний узел не существует, значение этого элемента NULL.

RightChild

Непрозрачный указатель на правый дочерний узел для этого узла. Если правый дочерний узел отсутствует, значение этого элемента NULL.

Замечания

Как правило, каждый узел дерева ссылок splay состоит из определяемой пользователем структуры. Каждый такой определяемый пользователем узел должен содержать инициализированную RTL_SPLAY_LINKS структуру. Чтобы инициализировать структуру RTL_SPLAY_LINKS, вызовите макрос RtlInitializeSplayLink s. (Передайте адрес элемента RTL_SPLAY_LINKS, содержащегося в определяемой пользователем структуре.)

Для дерева ссылок splay с одним или несколькими узлами новый узел обычно инициализирован следующим образом:

  1. Используйте RtlLeftChild и /или RtlRightChild, чтобы найти точку вставки для нового узла. То есть получите правильный адрес родительского узла для нового узла. (Новый узел будет присоединен слева от родительского узла или справа.)
  2. Используйте RtlInitializeSplayLinks, чтобы инициализировать новый узел с адресом родительского узла, найденного на предыдущем шаге.
  3. Вставьте новый узел в дерево воспроизведения с помощью RtlInsertAsLeftChild или RtlInsertAsRightChild.
  4. Вызовите RtlSplay с адресом нового узла. (Новый узел становится корнем дерева воспроизведения.)
Вызывающие RtlXxx подпрограммы дерева воспроизведения отвечают за синхронизацию доступа к дереву воспроизведения. Дополнительные сведения о синхронизации доступа к дереву воспроизведения см. в разделе блокировки, взаимоблокировки и синхронизации и управления приоритетами оборудования.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно во всех поддерживаемых версиях Windows.
заголовка ntddk.h (include Fltkernel.h, Ntifs.h, Ntddk.h)

См. также

RtlInitializeSplayLinks

RtlInsertAsLeftChild

RtlInsertAsRightChild

RtlLeftChild

RtlRightChild

RtlSplay