| Предыдущий | Следующий |
| RPC_E_UNEXPECTED | DISP_E_MEMBERNOTFOUND |
DISP_E_UNKNOWNINTERFACE
Что означает DISP_E_UNKNOWNINTERFACE
DISP_E_UNKNOWNINTERFACE (0x80020001) — Неизвестный интерфейс.
В подсистеме «COM Automation» результат 0x80020001 относится к области «IDispatch, сопоставление имён, аргументы VARIANT и локаль». Описание «неизвестный интерфейс» сужает проверку до темы «unknowninterface».
Что проверить и как подтвердить исправление
Не начинайте с общего сброса компонента: проверьте идентификатор, область поиска и жизненный цикл отсутствующего объекта. При 0x80020001 и условии «неизвестный интерфейс» проверьте идентификатор, область поиска и поколение объекта; имя может быть верным, но относиться к другому контейнеру или уже удалённому состоянию.
Перед повтором 0x80020001 зафиксируйте DISPID, имя члена, LCID, число и типы аргументов, DISPPARAMS, EXCEPINFO и argErr; отдельно запишите HRESULT, IDispatch, IID, LCID, EXCEPINFO. Различия по теме «unknowninterface» для 0x80020001 покажут, изменился ли первый неуспешный этап.
После локализации 0x80020001 действуйте по контракту подсистемы: приведите число, порядок и типы аргументов к описанию вызываемого члена; сохраните EXCEPINFO до следующего COM-вызова. Для 0x80020001 и условия «неизвестный интерфейс» неизменённый повтор без нового состояния не считается исправлением.
Считайте исправление подтверждённым только после устойчивого повтора исходного сценария без результата 0x80020001 и без обхода штатных проверок.
Документация для результата 0x80020001: VARIANT structure · VariantClear · IDispatch::Invoke.
Нужно найти другой код? Найти другой код состояния или ошибки.