Что означает код HRESULT 0x80004020 (CO_E_IIDREG_INCONSISTENT)?

 
Предыдущий Следующий
CO_E_CLSREG_INCONSISTENT CO_E_NOT_SUPPORTED

CO_E_IIDREG_INCONSISTENT

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

CO_E_IIDREG_INCONSISTENT: Регистрационные сведения об этом интерфейсе противоречивы или неполны. Регистрация IID противоречива: сведения об интерфейсе в реестре не согласуются между собой. Это проблема metadata/registration конкретного интерфейса, а не отказ объекта реализовать QueryInterface во время выполнения.

Что проверить

  • Сверьте ключ Interface\{IID}, ProxyStubClsid32 и TypeLib/Version.
  • Проверьте, не оставила ли предыдущая версия приложения proxy/stub от другой сборки или разрядности.
  • Для marshaled интерфейса сопоставьте IID из IDL с зарегистрированным proxy/stub и type library.

Диагностика и исправление

Исправляйте регистрацию интерфейса как единый набор. Частичное удаление ProxyStubClsid32 или TypeLib может убрать один конфликт, но сделать интерфейс немаршалируемым.

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


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