¿Qué significa el código HRESULT 0x80020004 (DISP_E_PARAMNOTFOUND)?

 
Anterior Siguiente
DISP_E_MEMBERNOTFOUND DISP_E_TYPEMISMATCH

DISP_E_PARAMNOTFOUND

Qué significa DISP_E_PARAMNOTFOUND

DISP_E_PARAMNOTFOUND corresponde al HRESULT 0x80020004. Windows indica: «No se encontró el parámetro.».

El diagnóstico debe centrarse en invocación IDispatch/OLE Automation y conversión de argumentos VARIANT. La observación principal es: la llamada IDispatch no presenta los parámetros exigidos por la firma; registra cArgs, named args y posición del argumento.

Qué comprobar

  • Documenta DISPID o nombre, IID/LCID, flags de Invoke, DISPPARAMS, número/orden de argumentos, VARTYPE de cada VARIANT y EXCEPINFO/argErr devueltos; sin esa correlación el código solo identifica la frontera general.
  • Comprueba la descripción «No se encontró el parámetro.» contra la evidencia real de la llamada y no contra supuestos del código llamador.

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_DIVBYZERO significa «División por cero.».
  • DISP_E_BADINDEX corresponde a «Índice no válido.».

El objetivo es demostrar que la condición «No se encontró el parámetro.» ya no existe en la frontera original; un éxito obtenido por saltarse esa frontera no valida la corrección.

Referencias técnicas


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