共用方式為


D1110:排清失敗

轉譯目標的 Flush 呼叫失敗 [resource]。 標記 [tag1tag2]。

預留位置

資源

轉譯目標的位址。

tag1

第一個標記值。 如需詳細資訊 ,請參閱 SetTags

tag2

第二個標記值。 如需詳細資訊 ,請參閱 SetTags

   
錯誤層級 警告

 

範例

範例 1: 下列程式碼顯示繪製呼叫處於無效狀態。 若要避免警告訊息,請使用 SetAntialiasModeFillOpacityMask 呼叫之前設定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呼叫之後已處理的其中一個轉譯目標作業所產生的錯誤而失敗。 若要修正此問題,應用程式應該判斷錯誤的原因,並採取適當的動作。

修正

排清呼叫可能會失敗的原因很多。 應用程式應該判斷錯誤的原因,並採取適當的動作。