¿Qué significa el código HRESULT 0x8004E028 (CO_E_THREADINGMODEL_CHANGED)?

 
Anterior Siguiente
CONTEXT_E_NOTRANSACTION CO_E_NOIISINTRINSICS

CO_E_THREADINGMODEL_CHANGED

Qué significa CO_E_THREADINGMODEL_CHANGED

CO_E_THREADINGMODEL_CHANGED corresponde al HRESULT 0x8004E028. Windows indica: «El modelo de subprocesos del componente cambió después de instalarlo en una aplicación COM+. Vuelva a instalar el componente.».

Qué comprobar

  • Documenta CLSID, AppID, contexto CLSCTX, nombre/ruta del servidor, bitness, registro de clase y primer error SCM/loader/RPC de la activación; sin esa correlación el código solo identifica la frontera general.
  • Comprueba la descripción «El modelo de subprocesos del componente cambió después de instalarlo en una aplicación COM+. Vuelva a instalar el componente.» contra la evidencia real de la llamada y no contra supuestos del código llamador.

Resultados cercanos que significan otra cosa

  • CO_E_UNREVOKED_REGISTRATION_ON_APARTMENT_SHUTDOWN marca una condición diferente: «El llamador no revocó un registro específico del apartamento COM antes de cerrar el apartamento.».
  • CO_E_INIT_SCM_MUTEX_EXISTS significa «El mutex del servicio OLE ya existe.».

Diagnóstico específico

La condición que debe demostrarse en este caso es ««El modelo de subprocesos del componente cambió después de instalarlo en una aplicación COM+. Vuelva a instalar el componente.».». Conserva CLSID/IID/moniker u objeto COM exacto, CLSCTX, servidor/bitness y primera fase register/activate/marshal que falló y cambia únicamente la precondición relacionada con threadingmodel changed; si el siguiente intento devuelve otro HRESULT, trátalo como una fase distinta en vez de ocultar el primero.

Referencias técnicas


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