Что означает код HRESULT 0x8002802B (TYPE_E_ELEMENTNOTFOUND)?

 
Предыдущий Следующий
TYPE_E_WRONGTYPEKIND TYPE_E_AMBIGUOUSNAME

TYPE_E_ELEMENTNOTFOUND

Где возник отказ

Значение 0X8002802B возникает на границе COM Automation type library and ITypeInfo metadata resolution; конкретная проверка для этого случая — элемент не найден. Диагностику начинайте с producer, object generation и входного state, а не с последнего пользовательского сообщения.

Type compiler, importer, proxy generator и runtime ITypeInfo consumer могут возвращать тот же TYPE_E_* на разных boundaries, поэтому producer/toolchain version входит в evidence.

Конкретные признаки из исходного EN-описания

  • the result is HRESULT 2147647531 ( 0x8002802B ) from winerror.h.
  • capture element name or index; LIBID and version; containing type; LCID; search flags; loaded file hash.
  • A code generator stores a member index from an older TLB; it switches to name and MEMBERID lookup against the current library.
  • TYPE_E_FIELDNOTFOUND is specifically a record field; it covers broader type-library elements.

Диагностический снимок

  • LIBID/version/LCID/SYSKIND и TYPEKIND.
  • GUID/MEMBERID/HREFTYPE либо FUNCDESC/TYPEDESC, проверяемые операцией.
  • точный LoadTypeLib/ITypeInfo/registration boundary и первый HRESULT.

После изменения IDL/type library проверяйте согласованность 32/64-bit artifacts и imported versions, а не копируйте отдельную DLL как универсальное исправление.

Как отделить соседний код

Сделайте минимальный before/after test для «элемент не найден» и не меняйте одновременно policy, input и lifecycle-state: такой recovery не доказывает причинную связь.

Проверьте metadata graph для условия «элемент не найден»: registration, module kind, member lookup, TYPEKIND и imported library version дают разные TYPE_E_* даже в одном toolchain.

Критерий восстановления

Исправьте metadata/type-library condition «элемент не найден», пересоберите или зарегистрируйте согласованный versioned artifact и повторите минимальный LoadTypeLib/ITypeInfo scenario.

Технические ссылки


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