Condividi tramite


D1110: Errore di scaricamento

Chiamata flush da una destinazione di rendering non riuscita [risorsa]. Tag [tag1, tag2].

Segnaposto

Risorsa

Indirizzo della destinazione di rendering.

tag1

Primo valore del tag. Per altre informazioni, vedere SetTags .

tag2

Secondo valore del tag. Per altre informazioni, vedere SetTags .

   
Livello di errore Avviso

 

Esempio

Esempio 1: Il codice seguente mostra che una chiamata di disegno è in uno stato non valido. Per evitare il messaggio di avviso, usare SetAntialiasMode per impostare D2D1_ANTIALIAS_MODE_ANTIALIASED prima di una chiamata 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();

In questo esempio viene generato il messaggio di debug seguente:

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

Esempio 2: Il codice seguente mostra che flush viene chiamato dopo la chiamata a EndDraw .

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

In questo esempio viene generato il messaggio di debug seguente:

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

Possibili cause

La chiamata Flush può non riuscire per uno dei due motivi. Potrebbe non riuscire perché il metodo è stato chiamato all'esterno della chiamata BeginDraw EndDraw/ o potrebbe non riuscire perché si è verificato un errore generato da una delle operazioni di destinazione di rendering elaborate dall'ultima chiamata Flush o EndDraw. Per risolvere il problema, l'applicazione deve determinare la causa dell'errore ed eseguire l'azione appropriata.

Correzioni

Esistono molti motivi per cui una chiamata Flush potrebbe non riuscire. L'applicazione deve determinare la causa dell'errore ed eseguire l'azione appropriata.