33 _In_ PPH_AVL_TREE_COMPARE_FUNCTION CompareFunction
36 Tree->Root.Parent = NULL;
37 Tree->Root.Left = NULL;
38 Tree->Root.Right = NULL;
39 Tree->Root.Balance = 0;
42 Tree->CompareFunction = CompareFunction;
72 result = Tree->CompareFunction(Element, links);
512 Element->
Left = NULL;
513 Element->
Right = NULL;
539 else if (P->
Balance != balance)
588 if (!Element->Left || !Element->Right)
590 newElement = Element;
592 else if (Element->Balance >= 0)
594 newElement = Element->
Right;
596 while (newElement->
Left)
597 newElement = newElement->
Left;
601 newElement = Element->
Left;
603 while (newElement->
Right)
604 newElement = newElement->
Right;
618 if (!newElement->
Right)
620 *replace = newElement->
Left;
622 if (newElement->
Left)
627 *replace = newElement->
Right;
678 if (newElement != Element)
682 *newElement = *Element;
684 if (Element->Parent->Left == Element)
689 if (newElement->
Left)
691 if (newElement->
Right)
742 if (links == &Tree->Root)
793 links = links->
Right;
814 Element = Element->
Right;
816 while (Element->Left)
817 Element = Element->
Left;
830 while (links && links->
Right == Element)
856 Element = Element->
Left;
858 while (Element->Right)
859 Element = Element->
Right;
867 while (links && links->
Left == Element)
898 _In_opt_ PVOID Context
921 while (stack != stackBase)
925 if (!Callback(Tree, links, Context))
928 links = links->
Right;
944 links = links->
Right;
947 while (stack != stackBase)
951 if (!Callback(Tree, links, Context))
959 links = links->
Right;