RtlSubtreeSuccessor - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
#ifndef _NTRTL_H

/**
 * The RtlSubtreeSuccessor routine finds the successor of a node in a splay tree.
 *
 * \param Links A pointer to the splay links of the node.
 * \return A pointer to the splay links of the successor node.
 * \sa https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/ntddk/nf-ntddk-rtlsubtreesuccessor
 */
_Check_return_
NTSYSAPI
PRTL_SPLAY_LINKS
NTAPI
RtlSubtreeSuccessor(
    _In_ PRTL_SPLAY_LINKS Links
    );

#endif

View code on GitHub
// ntddk.h

NTSYSAPI PRTL_SPLAY_LINKS RtlSubtreeSuccessor(
  [in] PRTL_SPLAY_LINKS Links
);
View the official Windows Driver Kit DDI reference

NtDoc

This function is documented in Windows Driver Kit.

Windows Driver Kit DDI reference (nf-ntddk-rtlsubtreesuccessor)

RtlSubtreeSuccessor function

Description

The RtlSubtreeSuccessor routine returns a pointer to the successor of the specified node within the subtree that is rooted at that node.

Parameters

Links [in]

A pointer to the node. The node must have been initialized by calling RtlInitializeSplayLinks.

Return value

RtlSubtreeSuccessor returns a pointer to the subtree successor of the node at Links, or NULL if the given node has no subtree successor.

Remarks

If the node at Links has a right subtree, the leftmost node of that subtree is the subtree successor.

Callers of the Rtl splay link routines are responsible for synchronizing access to the splay link tree. A fast mutex is the most efficient synchronization mechanism to use for this purpose.

Callers of RtlSubtreeSuccessor must be running at IRQL <= DISPATCH_LEVEL if the tree is nonpaged. If the tree is paged, callers must be running at IRQL < DISPATCH_LEVEL. Usually callers are running at IRQL PASSIVE_LEVEL.

See also

RtlInitializeSplayLinks

RtlRealSuccessor

RtlSplay

RtlSubtreePredecessor