#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
);
View code on GitHub// ntddk.h
NTSYSAPI PRTL_SPLAY_LINKS RtlRealPredecessor(
[in] PRTL_SPLAY_LINKS Links
);
View the official Windows Driver Kit DDI referenceThis function is documented in Windows Driver Kit.
The RtlRealPredecessor routine returns a pointer to the predecessor of the specified node in the splay link tree.
Links [in]Pointer to the node. The node must have been initialized by calling RtlInitializeSplayLinks.
RtlRealPredecessor returns a pointer to the predecessor of the node at Links, or NULL if the node has no predecessor.
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.