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