| 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.