| Anterior | Siguiente |
| STG_E_EXTANTMARSHALLINGS | STG_E_BADBASEADDRESS |
STG_E_DOCFILECORRUPT
Qué significa STG_E_DOCFILECORRUPT
STG_E_DOCFILECORRUPT corresponde al HRESULT 0x80030109. El compound file contiene estructuras internas incoherentes o dañadas. La descripción de Windows para este valor es «El archivo de almacenamiento estructurado está dañado.» y su origen se clasifica como winerror.h.
El lector superó la cabecera pero encontró problemas en directorios, FAT/miniFAT, cadenas de sectores u otras estructuras MS-CFB. Eso lo distingue de STG_E_INVALIDHEADER. El dato decisivo no es solo el bit de severidad del HRESULT, sino el contrato de la llamada que lo devolvió y el estado del objeto en ese instante.
Diagnóstico práctico
- Haz una copia byte a byte y trabaja solo sobre ella.
- Compara tamaño/hash con una fuente conocida y revisa si hubo truncado durante copia o recuperación.
- Usa un lector independiente en modo no destructivo; que un stream pueda extraerse no demuestra que el contenedor completo sea sano.
Recuperación recomendada
Recupera desde una copia válida o extrae datos verificables hacia un contenedor nuevo. No abras y guardes el único original intentando “arreglarlo”.
Prueba después del cambio
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.
