Site icon EfmSoft

¿Qué significa el código HRESULT 0x80030110 (STG_E_BADBASEADDRESS)?

 
Anterior Siguiente
STG_E_DOCFILECORRUPT STG_E_DOCFILETOOLARGE

STG_E_BADBASEADDRESS

Qué significa STG_E_BADBASEADDRESS

STG_E_BADBASEADDRESS corresponde al HRESULT 0x80030110. La base o dirección interna usada por el storage no es válida para el formato actual. La descripción de Windows para este valor es «OLE32.DLL se cargó en una dirección incorrecta.» y su origen se clasifica como winerror.h.

El código aparece en escenarios donde offsets/base mappings no concuerdan con la representación esperada. Puede indicar datos corruptos o una implementación que interpreta mal el contenedor. Para diagnosticarlo conviene conservar primero la evidencia del objeto y después volver a abrirlo; una reapertura puede cambiar locks, generación o provider y borrar la condición original.

Cómo aislar la causa

  • Registra tamaño y offsets implicados antes de cualquier reparación.
  • Comprueba overflow/alineación y arquitectura si una capa convierte direcciones o offsets.
  • Valida el archivo con una implementación independiente para separar corrupción de un bug del parser.

Acción correctiva

Corrige el cálculo o recupera el contenedor desde una copia fiable. Evita parchear offsets internos sin verificar todas las estructuras dependientes.

Cómo confirmar la corrección

Valida una copia con una reapertura completa y, cuando sea posible, con un segundo lector; compara streams/metadata esperados sin modificar el original durante la comprobación.

Referencias técnicas


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

Exit mobile version