Tests show that in ddrawex.dll it is legal to create a surface with both DDSCAPS_VIDEOMEMORY and DDSCAPS_SYSTEMMEMORY flag set. A surface created that way shows different behavior in IDirectDrawSurface::GetDC.