Compartir a través de


D1110: Error de vaciado

Error en una llamada flush por un destino de representación [recurso]. Etiquetas [tag1, tag2].

Marcadores de posición

Recursos

Dirección del destino de representación.

tag1

Primer valor de etiqueta. Consulte SetTags para obtener más información.

tag2

Segundo valor de etiqueta. Consulte SetTags para obtener más información.

   
Nivel de error Advertencia

 

Ejemplos

Ejemplo 1: En el código siguiente se muestra que una llamada a draw está en un estado no válido. Para evitar el mensaje de advertencia, use SetAntialiasMode para establecer D2D1_ANTIALIAS_MODE_ANTIALIASED antes de una llamada a 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();

En este ejemplo se genera el siguiente mensaje de depuración:

D2D DEBUG WARNING - Flush call on render target failed [88990001]. Tags [0, 0].

Ejemplo 2: El código siguiente muestra que se llama a Flush después de la llamada a EndDraw .

        // Calling Flush after EndDraw generates a
        // flush error message from the debug layer.
       hr = m_pRenderTarget->EndDraw();       
       
       hr = m_pRenderTarget->Flush();

En este ejemplo se genera el siguiente mensaje de depuración:

DEBUG WARNING - A Flush call by a render target failed [88990001]. Tags [0, 0].

Causas posibles

La llamada flush puede producir un error por uno de estos dos motivos. Puede producirse un error porque se llamó al método fuera de la llamada a BeginDraw EndDraw/ o puede producir un error porque se produjo un error por una de las operaciones de destino de representación que se han procesado desde la última llamada flush o endDraw. Para corregir el problema, la aplicación debe determinar la causa del error y realizar la acción adecuada.

Correcciones

Hay muchas razones por las que se puede producir un error en una llamada flush . La aplicación debe determinar la causa del error y realizar la acción adecuada.