Site icon EfmSoft

Что означает код HRESULT 0x8002801C (TYPE_E_REGISTRYACCESS)?

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

TYPE_E_REGISTRYACCESS

Практическая интерпретация

При результате TYPE_E_REGISTRYACCESS (0X8002801C) локализуйте операцию внутри 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-описания

Evidence первого возврата

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

Контрольный эксперимент

Сделайте минимальный 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.

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


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

Exit mobile version