| Предыдущий | Следующий |
| 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.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
