Что означает код HRESULT 0x800401FE (CO_E_APPDIDNTREG)?

 
Предыдущий Следующий
CO_E_OBJNOTCONNECTED CO_E_RELEASED

CO_E_APPDIDNTREG

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

CO_E_APPDIDNTREG: COM запустил EXE-сервер, но тот не зарегистрировал ожидаемую фабрику класса до истечения времени активации. Процесс мог стартовать успешно как процесс Windows, однако для COM это ещё не означает готовность обслуживать CLSID.

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

  • Запишите CLSID, фактический путь LocalServer32/AppID и PID запущенного процесса.
  • Проверьте, достигает ли сервер вызова CoRegisterClassObject для нужного CLSID и не завершается ли раньше из-за собственной ошибки инициализации.
  • Сопоставьте разрядность клиента и регистрацию сервера; убедитесь, что запущен именно тот binary, который должен публиковать фабрику.
  • Проверьте события и журнал самого сервера между запуском процесса и возвратом HRESULT.

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

Исправление должно приводить к регистрации нужной фабрики в том же запуске сервера. Бесконечный повтор CoCreateInstance не лечит сервер, который стартует, но никогда не публикует класс.

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


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