D1110 : Échec de vidage
Un appel de vidage par une cible de rendu a échoué [ressource]. Balises [tag1, tag2].
Espaces réservés
-
Ressource
-
Adresse de la cible de rendu.
-
tag1
-
Valeur de la première balise. Pour plus d’informations, consultez SetTags .
-
tag2
-
Deuxième valeur de balise. Pour plus d’informations, consultez SetTags .
Niveau d’erreur | Avertissement |
Exemples
Exemple 1 : Le code suivant montre qu’un appel de dessin est dans un état non valide. Pour éviter le message d’avertissement, utilisez SetAntialiasMode pour définir D2D1_ANTIALIAS_MODE_ANTIALIASED avant un appel 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();
Cet exemple génère le message de débogage suivant :
D2D DEBUG WARNING - Flush call on render target failed [88990001]. Tags [0, 0].
Exemple 2 : Le code suivant montre que l’élément Flush est appelé après l’appel EndDraw .
// Calling Flush after EndDraw generates a
// flush error message from the debug layer.
hr = m_pRenderTarget->EndDraw();
hr = m_pRenderTarget->Flush();
Cet exemple génère le message de débogage suivant :
DEBUG WARNING - A Flush call by a render target failed [88990001]. Tags [0, 0].
Causes possibles
L’appel De vidage peut échouer pour l’une des deux raisons. Elle peut échouer, car la méthode a été appelée en dehors de l’appel BeginDraw/EndDraw , ou elle peut échouer en raison d’une erreur générée par l’une des opérations de rendu cible qui ont été traitées depuis le dernier appel Flush ou EndDraw . Pour résoudre le problème, l’application doit déterminer la cause de l’erreur et prendre les mesures appropriées.
Correctifs
Il existe de nombreuses raisons pour lesquelles un appel de vidage peut échouer. L’application doit déterminer la cause de l’erreur et prendre l’action appropriée.