¿Qué significa el código HRESULT 0x80004012 (CO_E_INIT_ONLY_SINGLE_THREADED)?

 
Anterior Siguiente
CO_E_INIT_SCM_EXEC_FAILURE CO_E_CANT_REMOTE

CO_E_INIT_ONLY_SINGLE_THREADED

Qué significa CO_E_INIT_ONLY_SINGLE_THREADED

CO_E_INIT_ONLY_SINGLE_THREADED corresponde al HRESULT 0x80004012. Windows indica: «Se intentó llamar por segunda vez a CoInitialize en modo de un solo hilo.».

El diagnóstico debe centrarse en inicialización del runtime COM y de sus servicios internos. La observación principal es: Windows resume la condición como «Se intentó llamar por segunda vez a CoInitialize en modo de un solo hilo.». Para esta constante, enlaza esa descripción con hilo y apartment model, resultado de CoInitializeEx/servicio relacionado, orden de inicialización y handles u objetos creados antes del fallo antes de modificar registro, objeto o datos.

Qué comprobar

  • Captura hilo y apartment model, resultado de CoInitializeEx/servicio relacionado, orden de inicialización y handles u objetos creados antes del fallo antes de cualquier retry, re-registro o reinicio del proceso.
  • Confirma que el estado observado coincide con «Se intentó llamar por segunda vez a CoInitialize en modo de un solo hilo.» y no con un HRESULT posterior provocado por el primer fallo.

Tratamiento recomendado

Reconstruye el orden de inicialización del hilo/apartment y elimina inicializaciones duplicadas o llamadas prematuras. La prueba válida usa un hilo nuevo o un lifecycle limpio y comprueba que cada init/uninit queda balanceado.

Resultados cercanos que significan otra cosa

  • CO_E_OBJNOTREG marca una condición diferente: «El objeto no está registrado.».
  • CO_E_THREADINGMODEL_CHANGED corresponde a «El modelo de subprocesos del componente cambió después de instalarlo en una aplicación COM+. Vuelva a instalar el componente.».

Referencias técnicas


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