Site icon EfmSoft

What does HRESULT 0x8002000A (DISP_E_OVERFLOW) mean?

 
Previous Next
DISP_E_EXCEPTION DISP_E_BADINDEX

DISP_E_OVERFLOW

Automation numeric conversion overflowed

DISP_E_OVERFLOW is HRESULT 2147614730 (0x8002000A) from winerror.h. The documented description is “Out of present range.” The value must be interpreted at IDispatch argument coercion or result conversion involving bounded Automation numeric types.

A mathematically valid value lies outside the representable range of the destination VARTYPE.

Where the result appears

  • This result is returned while Automation binds or executes IDispatch argument coercion or result conversion involving bounded Automation numeric types.

Typical causes and interpretation

Common cause categories are: a 64-bit value is coerced to 32-bit; currency scaling exceeds range; unsigned data enters a signed parameter; text parses to a huge number.

Key distinction: a mathematically valid value lies outside the representable range of the destination VARTYPE.

Evidence to preserve

  • Record it with the object CLSID or ProgID, interface identity, member DISPID, dispatch flags, and type-library version.
  • Capture source value and VARTYPE; destination VARTYPE; sign; locale conversion; array index or argument index.

Logs should expose enough structure to reproduce the failure without becoming a secondary store of sensitive input data.

Correct handling and recovery

The appropriate recovery is to range-check before Invoke, select a wider declared type, and preserve exact decimal values rather than narrowing implicitly.

Practical scenario

A counter exceeds LONG_MAX while a legacy method accepts VT_I4; the client switches to the newer VT_I8 interface.

Difference from related HRESULTs

DISP_E_TYPEMISMATCH means conversion is not meaningful; it means conversion is meaningful but the value is too large or small.

References


Looking for a different code? Search another status or error code.

Exit mobile version