Partilhar via


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.