相同的两个多边形区域,进行AND运算之后,为什么不等于原来的区域?

以下代码,输出99999. 请赐教!

void check_area( CDC* pDC )
{
    int n_Points=6;
    POINT points[10];

    points[0].x=8*100;
    points[0].y=5*100;
    points[1].x=1*100;
    points[1].y=1*100;
    points[2].x=3*100;
    points[2].y=2*100;
    points[3].x=4*100;
    points[3].y=2*100;
    points[4].x=4*100;
    points[4].y=1*100;
    points[5].x=8*100;
    points[5].y=5*100;

    pDC->SelectObject( pPen_blue );
    for( int i=0;i<n_Points;i++ )
       { if( i==0 )
             pDC->MoveTo( points[i].x, points[i].y );
         else
             pDC->LineTo( points[i].x, points[i].y );
       }

    CRgn Rgn_A, Rgn_B;
    Rgn_A.CreatePolygonRgn( points, n_Points, WINDING );
    Rgn_B.CreatePolygonRgn( points, n_Points, WINDING );

    Rgn_A.CombineRgn( &Rgn_A, &Rgn_B, RGN_AND );

    if( Rgn_A.EqualRgn(&Rgn_B) )
        MessageInt( 88888 );
    else
        MessageInt( 99999 );
}

区域如图所示

两区域相等为非零值,你输出难道不是88888么