| Предыдущий | Следующий |
| 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 не лечит сервер, который стартует, но никогда не публикует класс.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
