D1108: Falsche Factory
Die Ressource [Ressource] wurde nach Factory [Factory 1] zugeordnet und mit Factory [Factory 2] verwendet.
Platzhalter
-
Ressource
-
Die Adresse der Schnittstelle.
-
Werk 1
-
Die Adresse der Factory, die die Ressource zugewiesen hat.
-
Factory 2
-
Die Adresse der Factory, mit der die Ressource verwendet wurde.
Beispiele
Im folgenden Beispiel werden zunächst zwei debugfähige ID2D1Factory-Objekte erstellt. Anschließend wird eine Geometrie aus der ersten Fabrik und ein Pinsel aus der zweiten Fabrik erstellt. Schließlich wird FillGeometry aufgerufen, wobei die Geometrie und der Pinsel übergeben werden.
// If you set the options.debugLevel to D2D1_DEBUG_LEVEL_NONE,
// the debug layer is not enabled.
#if defined(DEBUG) || defined(_DEBUG)
D2D1_FACTORY_OPTIONS options;
options.debugLevel = D2D1_DEBUG_LEVEL_INFORMATION;
hr = D2D1CreateFactory(
D2D1_FACTORY_TYPE_SINGLE_THREADED,
options,
&m_pD2DFactory
);
#else
hr = D2D1CreateFactory(
D2D1_FACTORY_TYPE_SINGLE_THREADED,
&m_pD2DFactory
);
#endif
// Domain violation. Create a second Direct2D factory.
options.debugLevel = D2D1_DEBUG_LEVEL_INFORMATION;
hr = D2D1CreateFactory(
D2D1_FACTORY_TYPE_SINGLE_THREADED,
options,
&m_pD2DFactory1
);
// Create a geometry from the second factory.
hr = m_pD2DFactory1->CreateRectangleGeometry(
D2D1::RectF(100, 50, 400, 160),
&m_pRectangleGeometry
);
C++ |
---|
|
C++ |
---|
|
C++ |
---|
|
In diesem Beispiel wird die folgende Debugmeldung erzeugt:
D2D DEBUG ERROR - The resource [003BD628] was allocated
by factory [002ED698] and used with factory [002ED470].
Mögliche Ursachen
Ungültige Ressourcennutzung. Eine Ressource, die von einer Fabrik zugewiesen wurde, wurde mit einer anderen Fabrik verwendet.