RtlInsertAsLeftChild 函数 (ntddk.h)

RtlInsertAsLeftChild 例程将 splay 链接节点作为指定节点的左子级插入树中。

语法

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

参数

[in] ParentLinks

指向树中 ChildLinks 应作为左子元素插入的节点的指针。

[in] ChildLinks

指向要插入到树中的 splay 链接节点的指针。 必须通过调用 RtlInitializeSplayLinks来初始化节点。

返回值

没有

言论

RtlInsertAsLeftChild 的调用方必须满足以下条件:

  • ParentLinks 的节点不得具有左子级。

    调用方可以通过调用 RtlLeftChild来确定节点是否已具有左子级。 如果 RtlLeftChild 返回 NULL ,则 ParentLinksRtlInsertAsLeftChild的有效参数。

  • ChildLinks 的节点不得具有父级。

    调用方可以通过调用 RtlIsRootRtlParent来确定此节点是否已具有父节点。 如果使用 ChildLinks调用时,RtlIsRoot 返回 TRUE,则 ChildLinksRtlInsertAsLeftChild的有效参数。 如果 RtlParent 返回指向 ChildLinks的等效指针,则 ChildLinksRtlInsertAsLeftChild的有效参数。

Rtl splay 链接例程的调用方负责同步对 splay 链接树的访问。 快速互斥体是用于此目的最有效的同步机制。

RtlInsertAsLeftChild 的调用方必须在 IRQL <= DISPATCH_LEVEL(如果 splay 链接树和 ChildLinks 节点为非分页)上运行。 通常,调用方在 IRQL PASSIVE_LEVEL运行。

要求

要求 价值
目标平台 桌面
标头 ntddk.h (包括 Ntddk.h、 Ntifs.h)
IRQL 请参阅“备注”部分。

另请参阅

RtlInitializeSplayLinks

RtlInsertAsRightChild

RtlIsRoot

RtlLeftChild

RtlParent

RtlSplay