RtlSplay 函数 (ntddk.h)

RtlSplay 例程围绕指定的 splay 链接重新平衡或“splays”,使该链接树成为树的新根。

语法

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

参数

[in, out] Links

指向要成为重新平衡 splay 链接树根节点的节点的指针。 节点必须已通过调用 RtlInitializeSplayLinks 进行初始化。

返回值

RtlSplay 在重新平衡树后返回 Links 指针。

注解

如果 L 是给定链接,P 是其父节点,G 是其祖父节点, 则 RtlSplay 会根据下图所示的六种模式之一重新平衡 splay 链接树。

说明 splay 链接树的重新平衡的关系图,其中 L 是给定的链接,P 是其父节点,G 是它的祖父节点。

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

如果树是非分页的, 则 RtlSplay 的调用方必须在 IRQL <= DISPATCH_LEVEL 运行。 通常,调用方在 IRQL PASSIVE_LEVEL运行。

要求

要求
目标平台 通用
标头 ntddk.h (包括 Ntddk.h、Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 请参见“备注”部分。

另请参阅

RtlDelete

RtlInitializeSplayLinks

RtlInsertAsLeftChild

RtlInsertAsRightChild