typedef struct _CONTROL_AREA
{
    SEGMENT *Segment;
    LIST_ENTRY DereferenceList;
    unsigned __int64 NumberOfSectionReferences;
    unsigned __int64 NumberOfPfnReferences;
    unsigned __int64 NumberOfMappedViews;
    unsigned __int64 NumberOfUserReferences;
    union
    {
        unsigned long LongFlags;
        MMSECTION_FLAGS Flags;
    } u;
    unsigned long FlushInProgressCount;
    EX_FAST_REF FilePointer;
    volatile long ControlAreaLock;
    union
    {
        unsigned long ModifiedWriteCount;
        unsigned long StartingFrame;
    };
    MI_SECTION_CREATION_GATE *WaitingForDeletion;
    union
    {
        struct
        {
            union
            {
                unsigned long NumberOfSystemCacheViews;
                unsigned long ImageRelocationStartBit;
            };
            union
            {
                volatile long WritableUserReferences;
                struct
                {
                    unsigned long ImageRelocationSizeIn64k : 16;
                    unsigned long Unused : 14;
                    unsigned long BitMap64 : 1;
                    unsigned long ImageActive : 1;
                };
            };
            union
            {
                MM_SUBSECTION_AVL_TABLE *SubsectionRoot;
                MI_IMAGE_SECURITY_REFERENCE *SeImageStub;
            };
        } e2;
    } u2;
    volatile __int64 LockedPages;
    LIST_ENTRY ViewList;
} CONTROL_AREA, *PCONTROL_AREA;