Что означает код HRESULT 0x80028027 (TYPE_E_UNDEFINEDTYPE)?

 
Предыдущий Следующий
TYPE_E_LIBNOTREGISTERED TYPE_E_QUALIFIEDNAMEDISALLOWED

TYPE_E_UNDEFINEDTYPE

Что означает результат

При результате TYPE_E_UNDEFINEDTYPE (0X80028027) локализуйте операцию внутри COM Automation type library and ITypeInfo metadata resolution. Практическая граница — неопределённый тип; поздняя обёртка может скрыть исходный command, policy или lifecycle-state.

COM type libraries образуют versioned metadata graph из LIBID, TYPEKIND, GUID, HREFTYPE и imported references; registry registration — только одна из возможных стадий отказа.

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

  • the result is HRESULT 2147647527 ( 0x80028027 ) from winerror.h.
  • capture referencing member; type name or HREFTYPE; imported LIBIDs; compile order; library versions; namespace aliases.
  • TYPE_E_ELEMENTNOTFOUND is a generic lookup miss; it means a type reference cannot be completed.
  • A generated interface references a record from an imported library that was omitted from deployment; installing the dependency resolves binding.

Что сохранить до retry

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

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

Проверка причинной границы

Проверьте condition «неопределённый тип» на том же API и object generation. Изменение одного prerequisite должно убрать этот HRESULT или сдвинуть первый отказ к другой конкретной границе.

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

Исправление и повтор

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

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


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