다음을 통해 공유


D1110: 플러시 실패

렌더링 대상에 의한 플러시 호출이 [리소스]에 실패했습니다. 태그 [tag1, tag2].

자리 표시자

리소스

렌더링 대상의 주소입니다.

tag1

첫 번째 태그 값입니다. 자세한 내용은 SetTags 를 참조하세요.

tag2

두 번째 태그 값입니다. 자세한 내용은 SetTags 를 참조하세요.

   
오류 수준 경고

 

예제

예제 1: 다음 코드는 그리기 호출이 잘못된 상태임을 보여줍니다. 경고 메시지를 방지하려면 SetAntialiasMode를 사용하여 FillOpacityMask 호출 전에 D2D1_ANTIALIAS_MODE_ANTIALIASED 설정합니다.

       
        if(SUCCEEDED(hr))
        {
            hr = m_pRenderTarget->CreateBitmap(
                D2D1::SizeU(1,1),
                NULL,
                0,
                D2D1::BitmapProperties(D2D1::PixelFormat(
                    DXGI_FORMAT_A8_UNORM, 
                    D2D1_ALPHA_MODE_PREMULTIPLIED
                    )),
                &m_pBitmap
                );                    
        }


        m_pRenderTarget->FillOpacityMask(
            m_pBitmapMask,
            m_pFernBitmapBrush,
            D2D1_OPACITY_MASK_CONTENT_GRAPHICS,
            &rcBrushRect
            );

        hr = m_pRenderTarget->Flush();

        hr = m_pRenderTarget->EndDraw();

이 예제에서는 다음 디버그 메시지를 생성합니다.

D2D DEBUG WARNING - Flush call on render target failed [88990001]. Tags [0, 0].

예제 2: 다음 코드는 EndDraw 호출 후에 Flush가 호출되었음을 보여 주는 코드입니다.

        // Calling Flush after EndDraw generates a
        // flush error message from the debug layer.
       hr = m_pRenderTarget->EndDraw();       
       
       hr = m_pRenderTarget->Flush();

이 예제에서는 다음 디버그 메시지를 생성합니다.

DEBUG WARNING - A Flush call by a render target failed [88990001]. Tags [0, 0].

가능한 원인

Flush 호출은 두 가지 이유 중 하나로 인해 실패할 수 있습니다. 메서드가 BeginDraw EndDraw/ 호출 외부에서 호출되었거나 마지막 Flush 호출 또는EndDraw 호출 이후 처리된 렌더링 대상 작업 중 하나에 의해 생성된 오류가 있으므로 실패할 수 있습니다. 이 문제를 해결하려면 애플리케이션에서 오류의 원인을 확인하고 적절한 조치를 취해야 합니다.

수정 프로그램

Flush 호출이 실패할 수 있는 여러 가지 이유가 있습니다. 애플리케이션은 오류의 원인을 확인하고 적절한 조치를 취해야 합니다.