| Anterior | Siguiente |
| DISP_E_PARAMNOTFOUND | DISP_E_UNKNOWNNAME |
DISP_E_TYPEMISMATCH
Qué significa DISP_E_TYPEMISMATCH
DISP_E_TYPEMISMATCH corresponde al HRESULT 0x80020005. Windows indica: «Los tipos no coinciden.».
El diagnóstico debe centrarse en invocación IDispatch/OLE Automation y conversión de argumentos VARIANT. La observación principal es: el tipo real no coincide con el esperado por TypeInfo/Automation; captura TYPEKIND/VARTYPE de ambos lados.
Qué comprobar
- Registra DISPID o nombre, IID/LCID, flags de Invoke, DISPPARAMS, número/orden de argumentos, VARTYPE de cada VARIANT y EXCEPINFO/argErr devueltos en el mismo intento que devuelve el HRESULT.
- Usa «Los tipos no coinciden.» como hipótesis verificable y comprueba que corresponde a este CLSID/IID/moniker/VARIANT concreto.
Tratamiento recomendado
Verifica DISPID/nombre, flags, orden y tipos VARIANT de DISPPARAMS contra la firma IDispatch real. Corrige el argumento señalado por argErr o EXCEPINFO y repite sin conversiones implícitas innecesarias.
Resultados cercanos que significan otra cosa
DISP_E_BUFFERTOOSMALLsignifica «El búfer es demasiado pequeño.».DISP_E_NONAMEDARGScorresponde a «No hay argumentos con nombre.».
Después del cambio, repite desde un lifecycle limpio y verifica que «Los tipos no coinciden.» desaparece sin relajar controles globales ni sustituir datos por valores artificiales.
Referencias técnicas
¿Buscas un código diferente? Buscar otro código de estado o error.