| Anterior | Siguiente |
| D2DERR_BAD_NUMBER | D2DERR_LAYER_ALREADY_IN_USE |
D2DERR_WRONG_FACTORY
Qué significa D2DERR_WRONG_FACTORY
D2DERR_WRONG_FACTORY (-2003238894, 0x88990012) — Los recursos que se comparten deben haberse creado con la misma instancia de fábrica.
Los recursos Direct2D pertenecen a una factory y a un resource domain. Compartir wrappers entre factories, devices o targets aparentemente compatibles viola ownership aunque apunten al mismo hardware.
Qué demuestra este HRESULT
La condición específica es recurso creado por una factory distinta de la que recibe la llamada. Registra factory identity de cada resource y del target. Recréalo en la factory correcta o mantén grafos de recursos separados; dos factories sobre el mismo adapter siguen siendo dominios de ownership diferentes.
Marca el dominio de cada recurso
Asocia a cada wrapper la factory/device que lo creó y verifica esa identidad antes de combinar recursos. No transfieras objetos entre caches de contexts distintos solo porque sus parámetros coinciden; recrearlos dentro del dominio destino mantiene ownership explícito.
No confundir con un resultado cercano
D2DERR_WRONG_RESOURCE_DOMAIN se aísla por recurso pertenece a otro device/resource domain. Aquí debe demostrarse recurso creado por una factory distinta de la que recibe la llamada; son fronteras distintas aunque ambas aparezcan en el mismo render loop.
Referencias técnicas
- Microsoft Learn: documentación oficial de Direct2D relacionada con este resultado
- Microsoft Learn: documentación oficial de Direct2D relacionada con este resultado
- Microsoft Learn: documentación oficial de Direct2D relacionada con este resultado
- Microsoft Learn: documentación oficial de Direct2D relacionada con este resultado
¿Buscas un código diferente? Buscar otro código de estado o error.
