¿Qué significa el código HRESULT 0x88990012 (D2DERR_WRONG_FACTORY)?

 
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


¿Buscas un código diferente? Buscar otro código de estado o error.