Bagikan melalui


D1110: Kegagalan Flush

Panggilan Flush oleh target render gagal [sumber daya]. Tag [tag1, tag2].

Tempat penampung

Sumber daya

Alamat target render.

tag1

Nilai tag pertama. Lihat SetTags untuk informasi selengkapnya.

tag2

Nilai tag kedua. Lihat SetTags untuk informasi selengkapnya.

   
Tingkat Kesalahan Peringatan

 

Contoh

Contoh 1: Kode berikut menunjukkan bahwa panggilan gambar dalam keadaan tidak valid. Untuk menghindari pesan peringatan, gunakan SetAntialiasMode untuk mengatur D2D1_ANTIALIAS_MODE_ANTIALIASED sebelum panggilan 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();

Contoh ini menghasilkan pesan debug berikut:

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

Contoh 2: Kode berikut menunjukkan bahwa Flush dipanggil setelah panggilan EndDraw .

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

Contoh ini menghasilkan pesan debug berikut:

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

Kemungkinan Penyebabnya

Panggilan Flush dapat gagal karena salah satu dari dua alasan. Mungkin gagal karena metode dipanggil di luar panggilan BeginDraw/EndDraw , atau mungkin gagal karena ada kesalahan yang dihasilkan oleh salah satu operasi target render yang telah diproses sejak panggilan Flush terakhir atau panggilan EndDraw . Untuk memperbaiki masalah ini, aplikasi harus menentukan penyebab kesalahan dan mengambil tindakan yang sesuai.

Perbaikan

Ada banyak alasan bahwa panggilan Flush mungkin gagal. Aplikasi harus menentukan penyebab kesalahan dan mengambil tindakan yang sesuai.