| Предыдущий | Следующий |
| RPC_E_UNEXPECTED | DISP_E_MEMBERNOTFOUND |
DISP_E_UNKNOWNINTERFACE
Что означает DISP_E_UNKNOWNINTERFACE
DISP_E_UNKNOWNINTERFACE (0x80020001) — в Automation-вызове указан неподдерживаемый interface identifier.
COM Automation позволяет вызывать свойства и методы через IDispatch без жёсткой привязки к vtable-интерфейсу: имя преобразуется в DISPID, а Invoke получает аргументы как VARIANT/DISPPARAMS. Поэтому для DISP_E_* особенно важны конкретный член, DISPID и фактические типы аргументов.
Что проверить
- Запишите
riid, переданный вIDispatch::Invoke/GetIDsOfNames. - Для стандартного IDispatch-контракта проверьте, что используется ожидаемый
IID_NULL, если документация метода не задаёт иное. - Не путайте этот результат с
E_NOINTERFACEотQueryInterface: граница вызова здесь другая.
Что делать
Передайте IID, предусмотренный контрактом IDispatch конкретного API.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
