¿Qué significa el código HRESULT 0x80004008 (CO_E_INIT_MEMORY_ALLOCATOR)?

 
Anterior Siguiente
CO_E_INIT_SHARED_ALLOCATOR CO_E_INIT_CLASS_CACHE

CO_E_INIT_MEMORY_ALLOCATOR

Qué significa CO_E_INIT_MEMORY_ALLOCATOR

CO_E_INIT_MEMORY_ALLOCATOR corresponde al HRESULT 0x80004008. Windows indica: «No se pudo obtener el asignador de memoria.».

Este código pertenece a inicialización del runtime COM y de sus servicios internos. La pista específica es: Windows resume la condición como «No se pudo obtener el asignador de memoria.». 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

  • Conserva hilo y apartment model, resultado de CoInitializeEx/servicio relacionado, orden de inicialización y handles u objetos creados antes del fallo antes de cambiar registro, apartment, objeto o datos.
  • Confirma que el estado observado coincide con «No se pudo obtener el asignador de memoria.» 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_RELEASED significa «El objeto se ha liberado.».
  • CO_E_EXCEEDSYSACLLIMIT corresponde a «El número de ACE de la ACL supera el límite del sistema.».

Referencias técnicas


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