¿Qué significa el código HRESULT 0x80040066 (DV_E_STGMEDIUM)?

 
Anterior Siguiente
DV_E_DVTARGETDEVICE DV_E_STATDATA

DV_E_STGMEDIUM

Qué significa DV_E_STGMEDIUM

DV_E_STGMEDIUM corresponde al HRESULT 0x80040066. Windows indica: «La estructura STGMEDIUM no es válida.».

El HRESULT aparece dentro de transferencia OLE de datos mediante FORMATETC, STGMEDIUM y objetos IDataObject. Para aislarlo, parte de esta condición: el medio de almacenamiento no coincide con el contrato de la transferencia; registra tymed y ownership del handle/interface.

Qué comprobar

  • Reúne FORMATETC completo, cfFormat, tymed, DVASPECT, lindex, DVTARGETDEVICE, STGMEDIUM y origen/destino IDataObject en una prueba mínima y reproducible antes de aplicar una reparación.
  • Reproduce «La estructura STGMEDIUM no es válida.» en una operación mínima; después cambia una sola precondición para saber qué frontera se corrigió.

Tratamiento recomendado

Compara exactamente FORMATETC solicitado con los formatos/tymed que ofrece el IDataObject. Negocia una combinación compatible y libera STGMEDIUM según su contrato; no reinterpretar el buffer como otro formato.

Resultados cercanos que significan otra cosa

  • DV_E_LINDEX marca una condición diferente: «El valor lindex no es válido.».
  • DV_E_DVASPECT corresponde a «El aspecto de representación de datos no es válido.».

Referencias técnicas


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