RtlRealPredecessor - NtDoc

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

/**
 * The RtlRealPredecessor routine finds the real predecessor 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 real predecessor node.
 * \sa https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/ntddk/nf-ntddk-rtlrealpredecessor
 */
_Check_return_
NTSYSAPI
PRTL_SPLAY_LINKS
NTAPI
RtlRealPredecessor(
    _In_ PRTL_SPLAY_LINKS Links
    );

#endif

View code on GitHub
// ntddk.h

NTSYSAPI PRTL_SPLAY_LINKS RtlRealPredecessor(
  [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-rtlrealpredecessor)

RtlRealPredecessor function

Description

The RtlRealPredecessor routine returns a pointer to the predecessor of the specified node in the splay link tree.

Parameters

Links [in]

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

Return value

RtlRealPredecessor returns a pointer to the predecessor of the node at Links, or NULL if the node has no predecessor.

Remarks

The predecessor of a given node is determined as follows:

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 RtlRealPredecessor must be running at IRQL <= DISPATCH_LEVEL if the tree is nonpaged. Usually, callers are running at IRQL PASSIVE_LEVEL.

See also

RtlRealSuccessor

RtlSplay

RtlSubtreePredecessor