Что означает код HRESULT 0x8002000A (DISP_E_OVERFLOW)?

 
Предыдущий Следующий
DISP_E_EXCEPTION DISP_E_BADINDEX

DISP_E_OVERFLOW

Что означает DISP_E_OVERFLOW

DISP_E_OVERFLOW (0x8002000A) — значение существует математически, но не помещается в Automation-тип, к которому его пытаются привести.

COM Automation позволяет вызывать свойства и методы через IDispatch без жёсткой привязки к vtable-интерфейсу: имя преобразуется в DISPID, а Invoke получает аргументы как VARIANT/DISPPARAMS. Поэтому для DISP_E_* особенно важны конкретный член, DISPID и фактические типы аргументов.

Что проверить

  • Запишите исходный VARTYPE, значение и целевой тип coercion.
  • Проверьте границы signed/unsigned, CY, целочисленных типов и преобразование floating-point.
  • Если ошибка зависит от locale, отделите parsing текста от последующего числового overflow.

Что делать

Выберите тип с подходящим диапазоном либо отклоняйте значение до Invoke с понятной проверкой границ.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.