BlackBone
Windows memory hacking library
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
VadHelpers.h File Reference

Go to the source code of this file.

Macros

#define SANITIZE_PARENT_NODE(Parent)   ((PMMADDRESS_NODE)(((ULONG_PTR)(Parent)) & ~0x3))
 
#define MiParent(Links)
 
#define MiIsLeftChild(Links)
 
#define MiIsRightChild(Links)
 
#define MI_MAKE_PARENT(ParentNode, ExistingBalance)   (PMMADDRESS_NODE)((ULONG_PTR)(ParentNode) | (((ULONG_PTR)ExistingBalance) & 0x3))
 
#define COUNT_BALANCE_MAX(a)
 

Functions

TABLE_SEARCH_RESULT MiFindNodeOrParent (IN PMM_AVL_TABLE Table, IN ULONG_PTR StartingVpn, OUT PMMADDRESS_NODE *NodeOrParent)
 
VOID MiPromoteNode (IN PMMADDRESS_NODE C)
 
ULONG MiRebalanceNode (IN PMMADDRESS_NODE S)
 
VOID MiInsertNode (IN PMMADDRESS_NODE NodeToInsert, IN PMM_AVL_TABLE Table)
 
VOID MiRemoveNode (IN PMMADDRESS_NODE NodeToDelete, IN PMM_AVL_TABLE Table)
 

Macro Definition Documentation

#define COUNT_BALANCE_MAX (   a)
#define MI_MAKE_PARENT (   ParentNode,
  ExistingBalance 
)    (PMMADDRESS_NODE)((ULONG_PTR)(ParentNode) | (((ULONG_PTR)ExistingBalance) & 0x3))
#define MiIsLeftChild (   Links)
Value:
( \
(RtlLeftChild(MiParent(Links)) == (PRTL_SPLAY_LINKS)(Links)) \
)
#define MiParent(Links)
Definition: VadHelpers.h:22
#define MiIsRightChild (   Links)
Value:
( \
(RtlRightChild(MiParent(Links)) == (PRTL_SPLAY_LINKS)(Links)) \
)
#define MiParent(Links)
Definition: VadHelpers.h:22
#define MiParent (   Links)
Value:
( \
(PRTL_SPLAY_LINKS)(SANITIZE_PARENT_NODE((Links)->u1.Parent)) \
)
#define SANITIZE_PARENT_NODE(Parent)
Definition: VadHelpers.h:3
#define SANITIZE_PARENT_NODE (   Parent)    ((PMMADDRESS_NODE)(((ULONG_PTR)(Parent)) & ~0x3))

Function Documentation

TABLE_SEARCH_RESULT MiFindNodeOrParent ( IN PMM_AVL_TABLE  Table,
IN ULONG_PTR  StartingVpn,
OUT PMMADDRESS_NODE NodeOrParent 
)
VOID MiInsertNode ( IN PMMADDRESS_NODE  NodeToInsert,
IN PMM_AVL_TABLE  Table 
)
VOID MiPromoteNode ( IN PMMADDRESS_NODE  C)
ULONG MiRebalanceNode ( IN PMMADDRESS_NODE  S)
VOID MiRemoveNode ( IN PMMADDRESS_NODE  NodeToDelete,
IN PMM_AVL_TABLE  Table 
)