| Anterior | Siguiente |
| CO_E_NOTINITIALIZED | CO_E_CANTDETERMINECLASS |
CO_E_ALREADYINITIALIZED
Qué significa CO_E_ALREADYINITIALIZED
CO_E_ALREADYINITIALIZED corresponde al HRESULT 0x800401F1. Windows indica: «Ya se ha llamado a CoInitialize.».
La frontera técnica es inicialización del runtime COM y de sus servicios internos. En este caso, el error depende del lifecycle de inicialización, por lo que hay que correlacionar init/uninit en el mismo hilo y apartment.
Qué comprobar
- Reúne hilo y apartment model, resultado de CoInitializeEx/servicio relacionado, orden de inicialización y handles u objetos creados antes del fallo en una prueba mínima y reproducible antes de aplicar una reparación.
- Verifica que «Ya se ha llamado a CoInitialize.» siga siendo cierto con el mismo objeto y parámetros antes de modificar varias condiciones simultáneamente.
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_UNREVOKED_REGISTRATION_ON_APARTMENT_SHUTDOWNcorresponde a «El llamador no revocó un registro específico del apartamento COM antes de cerrar el apartamento.».CO_E_NOTPOOLEDsignifica «El componente COM+ creado debe utilizar un grupo de objetos para funcionar.».
Después del cambio, repite desde un lifecycle limpio y verifica que «Ya se ha llamado a CoInitialize.» desaparece sin relajar controles globales ni sustituir datos por valores artificiales.
Referencias técnicas
¿Buscas un código diferente? Buscar otro código de estado o error.
