| Предыдущий | Следующий |
| CO_E_WRONGOSFORAPP | CO_E_OBJISREG |
CO_E_OBJNOTREG
Контракт операции
CO_E_OBJNOTREG фиксирует состояние Объект не зарегистрирован. В COM/DCOM полезно считать его маркером стадии «регистрация класса и интерфейса COM», а не общим признаком повреждения всей конфигурации.
Что сохранить до retry
- снимите в трассировку CLSID/IID, InprocServer32/LocalServer32, ThreadingModel, bitness и фактический путь модуля. Для условия «Объект не зарегистрирован» это позволяет восстановить исходный объект и не спутать его с последующим состоянием.
- запишите технические маркеры
FACILITY_ITF,CLSID,CoCreateInstance,HRESULT,SIDс теми значениями, которые были видны до очистки/rollback; они привязывают «Объект не зарегистрирован» к реальному вызову. - запишите момент первого результата и один исправный запуск, сохранив одинаковыми входные данные; различие должно появиться именно на стадии регистрация класса и интерфейса COM.
Последовательность проверки
сопоставьте проверить регистрацию в представлении реестра архитектуры клиента и отдельно загрузку class factory. Изменяйте только предпосылку, связанную с «Объект не зарегистрирован», а регистрацию, identity, входной объект и окружение по возможности оставляйте прежними.
не регистрировать случайную копию DLL до проверки версии, пути и модели потоков; для результата «Объект не зарегистрирован» широкая переустановка, очистка каталога или ослабление безопасности не считается доказательством причины.
Для соседних результатов REGDB_E_CLASSNOTREG сравнивайте первую различающуюся операцию. Исправление подтверждено только тогда, когда исходная граница проходит при прежних входах и следующий ожидаемый шаг получает корректное состояние.
Технические ссылки
- Microsoft: generic COM error codes
- Microsoft: IRunningObjectTable
- Microsoft: CoCreateInstance
- Портал COM для Windows
Нужно найти другой код? Найти другой код состояния или ошибки.