Positioning Overlay Surfaces
After initially displaying an overlay by calling the IDirectDrawSurface::UpdateOverlay method, you can update the destination rectangle's by calling the IDirectDrawSurface::SetOverlayPosition method.
Make sure that the positions you specify comply with any boundary alignment restrictions enforced by the hardware. For more information, see Boundary and Size Alignment.
Also remember that SetOverlayPosition does not perform clipping for you; using coordinates that would potentially make the overlay run off the edge of the target surface will cause the method to fail, returning DDERR_INVALIDPOSITION.
Send Feedback on this topic to the authors