RtlInsertAsRightChild 函数 (ntddk.h)
RtlInsertAsRightChild 例程将给定的 splay 链接作为该树中给定节点的右子级插入树中。
语法
void RtlInsertAsRightChild(
[in] PRTL_SPLAY_LINKS ParentLinks,
[in] PRTL_SPLAY_LINKS ChildLinks
);
参数
[in] ParentLinks
指向树中应插入 ChildLink 作为 正确的子级的节点的指针。
[in] ChildLinks
指向要插入树中的 splay 链接节点的指针。 节点必须已通过调用 RtlInitializeSplayLinks 进行初始化。
返回值
无
备注
RtlInsertAsRightChild 的调用方负责满足以下条件:
-
ParentLinks 上的节点必须没有正确的子级。
调用方可以通过调用 RtlRightChild 来确定节点是否已具有正确的子节点。 如果 RtlRightChild 返回 NULL, 则 ParentLinks 是 RtlInsertAsRightChild 的有效参数。
-
ChildLinks 上的节点必须没有父节点。
调用方可以通过调用 RtlIsRoot 或 RtlParent 来确定此节点是否已具有父节点。 如果使用 ChildLinks 调用 RtlIsRoot 时返回 TRUE,则 ChildLinks 是 RtlInsertAsRightChild 的有效参数。 如果 RtlParent 返回指向 ChildLinks 的等效指针, 则 ChildLinks 也是 RtlInsertAsRightChild 的有效参数。
如果 splay 链接树和 ChildLinks 节点未分页,RtlInsertAsRightChild 的调用方必须在 IRQL <= DISPATCH_LEVEL 运行。 通常,调用方在 IRQL PASSIVE_LEVEL运行。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | ntddk.h (包括 Ntddk.h、Ntifs.h) |
IRQL | 请参见“备注”部分。 |