Что означает код HRESULT 0x800401FB (CO_E_OBJNOTREG)?

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

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


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