D1110: フラッシュ エラー
レンダー ターゲットによる Flush 呼び出しが失敗しました [resource]。 タグ [tag1, tag2].
プレースホルダー
-
リソース
-
レンダー ターゲットのアドレス。
-
tag1
-
最初のタグ値。 詳細については 、「SetTags 」を参照してください。
-
tag2
-
2 番目のタグ値。 詳細については 、「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 呼び出しは、2 つの理由のいずれかで失敗する可能性があります。 BeginDraw/EndDraw 呼び出しの外部でメソッドが呼び出されたために失敗する場合や、最後の Flush 呼び出しまたは EndDraw 呼び出し以降に処理されたレンダー ターゲット操作の 1 つによって生成されたエラーが原因で失敗する可能性があります。 この問題を解決するには、アプリケーションでエラーの原因を特定し、適切なアクションを実行する必要があります。
修正
Flush 呼び出しが失敗する理由は多数あります。 アプリケーションでエラーの原因を特定し、適切なアクションを実行する必要があります。