Что означает код HRESULT 0x80020003 (DISP_E_MEMBERNOTFOUND)?

 
Предыдущий Следующий
DISP_E_UNKNOWNINTERFACE DISP_E_PARAMNOTFOUND

DISP_E_MEMBERNOTFOUND

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

DISP_E_MEMBERNOTFOUND (0x80020003) — Член не найден.

Код 0x80020003 относится не ко всему компоненту «COM Automation», а к операции в области «IDispatch, сопоставление имён, аргументы VARIANT и локаль». Сообщение «член не найден» позволяет начать с темы «участник, не, поиск объекта».

Что проверить и как подтвердить исправление

Первый шаг — проверьте идентификатор, область поиска и жизненный цикл отсутствующего объекта. Когда при 0x80020003 система сообщает «член не найден», проверьте идентификатор, область поиска и поколение объекта; имя может быть верным, но относиться к другому контейнеру или уже удалённому состоянию.

Для воспроизведения 0x80020003 сохраните DISPID, имя члена, LCID, число и типы аргументов, DISPPARAMS, EXCEPINFO и argErr; отдельно запишите IDispatch, IUnknown, IIS, IE, HRESULT. По теме «участник, не, поиск объекта» для 0x80020003 сравните эти данные с исправным запуском до очистки журналов или пересоздания объекта.

Для 0x80020003 применяйте исправление на границе первого отказа: приведите число, порядок и типы аргументов к описанию вызываемого члена; сохраните EXCEPINFO до следующего COM-вызова. Сообщение «член не найден» при 0x80020003 не следует подавлять общей обработкой исключения.

Подтвердите изменение повтором исходной операции: результат 0x80020003 не должен возникать на исправном объекте, но прежний отрицательный контроль обязан оставаться предсказуемым.

Документация для результата 0x80020003: HRESULT values · Structure of COM error codes · Error handling in COM.


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