#ifndef _NTRTL_H
#define RtlInitializeSplayLinks(Links) \
{ \
PRTL_SPLAY_LINKS _SplayLinks; \
_SplayLinks = (PRTL_SPLAY_LINKS)(Links); \
_SplayLinks->Parent = _SplayLinks; \
_SplayLinks->LeftChild = NULL; \
_SplayLinks->RightChild = NULL; \
}
View code on GitHub// ntddk.h
VOID RtlInitializeSplayLinks(
[in] PRTL_SPLAY_LINKS Links
);
View the official Windows Driver Kit DDI referenceThis function is documented in Windows Driver Kit.
The RtlInitializeSplayLinks routine initializes a splay link node.
Links [in]Pointer to a caller-allocated buffer, which must be at least sizeof(RTL_SPLAY_LINK), to contain the initialized splay link node.
Every splay link node, including the initial root node of the splay link tree, must be initialized by calling RtlInitializeSplayLinks before it is passed to any other Rtl splay link routine. The initialized splay link node structure should be considered opaque.
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 RtlInitializeSplayLinks must be running at IRQL <= DISPATCH_LEVEL if the memory at Links is nonpaged. Usually, callers are running at IRQL PASSIVE_LEVEL.