¿Qué significa el código HRESULT 0x800401C2 (CONVERT10_E_OLESTREAM_FMT)?

 
Anterior Siguiente
CONVERT10_E_OLESTREAM_PUT CONVERT10_E_OLESTREAM_BITMAP_TO_DIB

CONVERT10_E_OLESTREAM_FMT

Qué significa CONVERT10_E_OLESTREAM_FMT

CONVERT10_E_OLESTREAM_FMT corresponde a 0x800401C2. Significa que COM pudo acceder al flujo, pero su contenido no encaja con la representación OLESTREAM que el conversor espera.

Es distinto de un fallo de lectura: aquí hay bytes disponibles y el problema está en su estructura. Un archivo truncado, una cabecera incorrecta, longitudes que sobrepasan el final del flujo o datos de otro formato entregados por error pueden producir este HRESULT.

Qué comprobar

  • Guarda los bytes originales sin abrirlos y volverlos a guardar con la aplicación, porque esa acción puede modificar la evidencia.
  • Comprueba cabeceras, campos de longitud y límites antes de cualquier asignación; identifica el primer desplazamiento donde el parser deja de aceptar la estructura.
  • Compara el objeto con otro OLE 1 válido de la misma aplicación y clase, no con un archivo moderno que sólo comparta extensión.
  • Confirma que el código llamó a la conversión en la dirección correcta y no pasó un compound file donde se esperaba OLESTREAM.

Cómo resolverlo

Obtén una copia íntegra producida por la aplicación original o corrige el productor que genera el flujo mal formado. Evita «reparar» longitudes a ciegas: una modificación que sólo hace avanzar el parser puede convertir un error visible en datos OLE corruptos.

Código cercano

Si el formato problemático está en el almacenamiento estructurado de entrada o salida, el resultado correspondiente es CONVERT10_E_STG_FMT.

Referencias técnicas


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