title | ms.assetid | description | keywords | topic_type | api_name | api_type | ms.topic | ms.date | ||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
D1108 Wrong Factory |
eb851118-0541-4c9a-a22d-b98f041852bb |
The resource was allocated by factory 1 and used with factory 2. |
|
|
|
|
reference |
05/31/2018 |
The resource [resource] was allocated by factory [factory 1] and used with factory [factory 2].
-
resource
-
The address of the interface.
-
factory 1
-
The address of the factory that allocated resource.
-
factory 2
-
The address of the factory with which resource was used.
The following example first creates two debug-enabled ID2D1Factory objects; it then creates a geometry from the first factory, and a brush from the second factory. Lastly, it calls FillGeometry, passing in the geometry and the brush.
// 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++ |
---|
|
This example produces the following debug message:
D2D DEBUG ERROR - The resource [003BD628] was allocated
by factory [002ED698] and used with factory [002ED470].
Invalid resource usage. A resource allocated by one factory was used with another factory.