¿Qué significa el código HRESULT 0x800401C4 (CONVERT10_E_STG_FMT)?

 
Anterior Siguiente
CONVERT10_E_OLESTREAM_BITMAP_TO_DIB CONVERT10_E_STG_NO_STD_STREAM

CONVERT10_E_STG_FMT

Qué significa CONVERT10_E_STG_FMT

CONVERT10_E_STG_FMT corresponde a 0x800401C4. Indica que el contenido del IStorage no está en el formato que requiere el conversor OLE.

Un compound file puede abrirse a bajo nivel y aun así carecer de la organización que espera la conversión. Directorios dañados, nombres o tipos de streams incoherentes, una escritura interrumpida o un almacenamiento que pertenece a otro formato son causas distintas y deben separarse.

Qué comprobar

  • Enumera storages y streams del compound file y conserva sus nombres, tamaños y tipos antes de modificar nada.
  • Comprueba si el almacenamiento fue confirmado (Commit) completamente o quedó a mitad de una actualización transaccional.
  • Abre una copia con herramientas de Structured Storage para verificar la estructura independientemente del convertidor que devuelve el HRESULT.
  • Confirma que el IStorage corresponde al objeto que se intenta exportar y no a un contenedor padre o a un stream extraído.

Cómo resolverlo

Recupera un almacenamiento íntegro o vuelve a crearlo desde los datos originales usando la aplicación que conoce su formato. Si el problema apareció después de una escritura interrumpida, conserva el archivo dañado para diagnóstico y trabaja sobre una copia; no inventes streams sólo para satisfacer al conversor.

Código cercano

CONVERT10_E_STG_NO_STD_STREAM es más específico: el almacenamiento puede ser reconocible, pero le falta uno de los streams estándar requeridos.

Referencias técnicas


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