RtlDelete 函数 (ntddk.h)

RtlDelete 例程从 splay 链接树中删除指定的节点。

语法

NTSYSAPI PRTL_SPLAY_LINKS RtlDelete(
  [in] PRTL_SPLAY_LINKS Links
);

参数

[in] Links

指向要删除的节点的指针。 节点必须已通过调用 RtlInitializeSplayLinks 进行初始化。

返回值

RtlDelete 返回指向从中删除给定节点的 splay 链接树根的指针,如果树为空,则返回 NULL

注解

删除节点后,RtlDelete 会重新平衡 splay 链接树。 若要删除节点而不重新平衡树,请使用 RtlDeleteNoSplay 而不是 RtlDelete

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

如果 splay 链接树未分页, 则 RtlDelete 的调用方必须在 IRQL <= DISPATCH_LEVEL 运行。 通常,调用方在 IRQL PASSIVE_LEVEL运行。

要求

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

另请参阅

RtlDeleteNoSplay

RtlInitializeSplayLinks

RtlInsertAsLeftChild

RtlInsertAsRightChild

RtlSplay