D1110:排清失敗
轉譯目標的 Flush 呼叫失敗 [resource]。 標記 [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: 下列程式碼顯示 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呼叫之後已處理的其中一個轉譯目標作業所產生的錯誤而失敗。 若要修正此問題,應用程式應該判斷錯誤的原因,並採取適當的動作。
修正
排清呼叫可能會失敗的原因很多。 應用程式應該判斷錯誤的原因,並採取適當的動作。