D1110: Falha na liberação
Uma chamada flush por um destino de renderização falhou [recurso]. Marcas [tag1, tag2].
Espaços reservados
-
Recurso
-
O endereço do destino de renderização.
-
tag1
-
O primeiro valor de marca. Consulte SetTags para obter mais informações.
-
tag2
-
O segundo valor de marca. Consulte SetTags para obter mais informações.
Nível de erro | Aviso |
Exemplos
Exemplo 1: O código a seguir mostra que uma chamada de desenho está em um estado inválido. Para evitar a mensagem de aviso, use SetAntialiasMode para definir D2D1_ANTIALIAS_MODE_ANTIALIASED antes de uma chamada fillOpacityMask .
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();
Este exemplo produz a seguinte mensagem de depuração:
D2D DEBUG WARNING - Flush call on render target failed [88990001]. Tags [0, 0].
Exemplo 2: O código a seguir mostra que Flush é chamado após a chamada EndDraw .
// Calling Flush after EndDraw generates a
// flush error message from the debug layer.
hr = m_pRenderTarget->EndDraw();
hr = m_pRenderTarget->Flush();
Este exemplo produz a seguinte mensagem de depuração:
DEBUG WARNING - A Flush call by a render target failed [88990001]. Tags [0, 0].
Possíveis causas
A chamada flush pode falhar por um dos dois motivos. Ele pode falhar porque o método foi chamado fora da chamada BeginDraw/EndDraw ou pode falhar porque houve um erro produzido por uma das operações de destino de renderização que foram processadas desde a última chamada flush ou chamada endDraw . Para corrigir o problema, o aplicativo deve determinar a causa do erro e tomar a ação apropriada.
Correções
Há muitos motivos pelos quais uma chamada flush pode falhar. O aplicativo deve determinar a causa do erro e tomar a ação apropriada.