¿Qué significa el código de error de Windows 604 (ERROR_INVALID_VARIANT)?

 
Anterior Siguiente
ERROR_MARSHALL_OVERFLOW ERROR_BAD_COMPRESSION_BUFFER

ERROR_INVALID_VARIANT

Qué significa ERROR_INVALID_VARIANT

ERROR_INVALID_VARIANT (604) — Una estructura VARIANT contiene una combinación inválida entre type tag, payload u ownership.

VT_xxx y los campos del union deben coincidir, y algunos tipos requieren punteros, BSTR, SAFEARRAY o BYREF con lifetime preciso. Un VARIANT parcialmente inicializado, cruzado entre ABI distintos o corrompido puede fallar incluso al intentar limpiarlo.

Qué comprobar

  • Registre vt y los campos relevantes sin dereferenciar punteros sospechosos.
  • Inicialice con VariantInit y use APIs Automation para copy/clear.
  • Revise marshalling COM, bitness y ownership en límites entre módulos o lenguajes.

Tratamiento recomendado

No cambie solo el type tag para hacer que el payload “encaje”. Regenere el VARIANT desde un valor conocido y mantenga reglas claras de ownership. Trate input Automation no confiable como estructura que debe validarse antes de usar.

Referencias técnicas


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