D1110:刷新失败

呈现器目标的刷新调用失败 [资源]。 标记 [tag1tag2]。

占位符

资源

呈现目标的地址。

tag1

第一个标记值。 有关详细信息 ,请参阅 SetTags

tag2

第二个标记值。 有关详细信息 ,请参阅 SetTags

   
错误级别 警告

 

示例

示例 1: 下面的代码显示绘图调用处于无效状态。 若要避免出现警告消息,请在 FillOpacityMask 调用之前使用 SetAntialiasMode 设置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: 下面的代码显示 Flush 是在 EndDraw 调用之后调用的。

        // 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 调用以来已处理的呈现器目标操作之一生成错误而失败。 若要解决此问题,应用程序应确定错误原因并采取相应的措施。

修复项

刷新调用可能会失败的原因有很多。 应用程序应确定错误原因并采取适当的措施。