| Предыдущий | Следующий |
| TYPE_E_NAMECONFLICT | TYPE_E_DLLFUNCTIONNOTFOUND |
TYPE_E_UNKNOWNLCID
Контракт подсистемы
Этот HRESULT 0X8002802E фиксирует условие неизвестный LCID в подсистеме COM Automation type library and ITypeInfo metadata resolution. Для корректного сравнения нужны один и тот же API, сопоставимый object state и первый возврат до recovery.
COM type libraries образуют versioned metadata graph из LIBID, TYPEKIND, GUID, HREFTYPE и imported references; registry registration — только одна из возможных стадий отказа.
Конкретные признаки из исходного EN-описания
the result is HRESULT 2147647534 ( 0x8002802E ) from winerror.h.
capture LCID; library SYSKIND and version; available locale resources; user/system locale; documentation strings requested.
A browser requests help strings for an unavailable locale and falls back to the library’s neutral LCID.
DISP_E_UNKNOWNLCID occurs during runtime dispatch; it occurs while working with type metadata.
Поля для корреляции
- 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.
Как проверить гипотезу
Сделайте минимальный before/after test для «неизвестный LCID» и не меняйте одновременно policy, input и lifecycle-state: такой recovery не доказывает причинную связь.
Проверьте metadata graph для условия «неизвестный LCID»: registration, module kind, member lookup, TYPEKIND и imported library version дают разные TYPE_E_* даже в одном toolchain.
Безопасное восстановление
Исправьте metadata/type-library condition «неизвестный LCID», пересоберите или зарегистрируйте согласованный versioned artifact и повторите минимальный LoadTypeLib/ITypeInfo scenario.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.