Site icon EfmSoft

Что означает код HRESULT 0x8002000F (DISP_E_PARAMNOTOPTIONAL)?

 
Предыдущий Следующий
DISP_E_BADPARAMCOUNT DISP_E_BADCALLEE

DISP_E_PARAMNOTOPTIONAL

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

DISP_E_PARAMNOTOPTIONAL (0x8002000F) — после сопоставления аргументов обязательный параметр метода или свойства остался без значения.

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

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

  • Сверьте сигнатуру конкретной версии type library.
  • Проверьте порядок аргументов в DISPPARAMS: позиционные аргументы для Invoke хранятся в обратном порядке.
  • Убедитесь, что клиент ошибочно не пометил обязательный параметр как пропущенный VT_ERROR/DISP_E_PARAMNOTFOUND.

Что делать

Передайте значение обязательного параметра в корректной позиции или через поддерживаемый named DISPID.

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


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

Exit mobile version