typedef struct _MSUBSECTION
{
    CONTROL_AREA *ControlArea;
    MMPTE *SubsectionBase;
    union
    {
        SUBSECTION *NextSubsection;
        MSUBSECTION *NextMappedSubsection;
    };
    unsigned long PtesInSubsection;
    union
    {
        unsigned long UnusedPtes;
        MM_AVL_TABLE *GlobalPerSessionHead;
    };
    union
    {
        unsigned long LongFlags;
        MMSUBSECTION_FLAGS SubsectionFlags;
    } u;
    unsigned long StartingSector;
    unsigned long NumberOfFullSectors;
    union
    {
        __int64 Balance : 2;
        MMSUBSECTION_NODE *Parent;
    } u1;
    MMSUBSECTION_NODE *LeftChild;
    MMSUBSECTION_NODE *RightChild;
    LIST_ENTRY DereferenceList;
    unsigned __int64 NumberOfMappedViews;
} MSUBSECTION, *PMSUBSECTION;