| Предыдущий | Следующий |
| TYPE_E_CANTCREATETMPFILE | TYPE_E_INCONSISTENTPROPFUNCS |
TYPE_E_CANTLOADLIBRARY
Контракт подсистемы
TYPE_E_CANTLOADLIBRARY (0X80029C4A) относится к COM Automation type library and ITypeInfo metadata resolution. Для расследования рабочее условие — не удаётся загрузить библиотеку. Сохраняйте первый native return и состояние объекта до автоматического retry или cleanup.
После изменения IDL/type library проверяйте согласованность 32/64-bit artifacts и imported versions, а не копируйте отдельную DLL как универсальное исправление.
Конкретные признаки из исходного EN-описания
the result is HRESULT 2147654730 ( 0x80029C4A ) from winerror.h.
A 32-bit Automation client resolves the LIBID to a 64-bit-only DLL resource and receives the load failure even though the registry entry exists.
The registered path points to a missing or wrong-architecture binary.
The file is present but corrupt, blocked, or built for an incompatible format.
Поля для корреляции
- LIBID/version/LCID/SYSKIND и TYPEKIND.
- GUID/MEMBERID/HREFTYPE либо FUNCDESC/TYPEDESC, проверяемые операцией.
- точный LoadTypeLib/ITypeInfo/registration boundary и первый HRESULT.
COM type libraries образуют versioned metadata graph из LIBID, TYPEKIND, GUID, HREFTYPE и imported references; registry registration — только одна из возможных стадий отказа.
Как проверить гипотезу
Сделайте минимальный 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.
Технические ссылки
- Microsoft: COM error codes for TYPE_E and OLE.
- Microsoft: LoadTypeLib.
- Microsoft: CreateTypeLib2.
- Microsoft: ITypeInfo.
Нужно найти другой код? Найти другой код состояния или ошибки.