| 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.
