Что означает код HRESULT 0x80080001 (CO_E_CLASS_CREATE_FAILED)?

 
Предыдущий Следующий
WININET_E_DECODING_FAILED CO_E_SCM_ERROR

CO_E_CLASS_CREATE_FAILED

Точная граница результата

При CO_E_CLASS_CREATE_FAILED нарушено конкретное условие: Не удалось создать объект класса. Не подменяйте его последующей ошибкой приложения: сначала локализуйте активация COM-сервера.

Параметры первого сбоя

  • приложите к инциденту CLSID/IID, CLSCTX, server name, PID, LocalServer32/AppID и события SCM/server startup. Для условия «Не удалось создать объект класса» это позволяет восстановить исходный объект и не спутать его с последующим состоянием.
  • зафиксируйте технические маркеры CLSID, IID, CoCreateInstance, CoGetClassObject, RPC с теми значениями, которые были видны до очистки/rollback; они привязывают «Не удалось создать объект класса» к реальному вызову.
  • приложите к инциденту момент первого результата и один исправный запуск, сохранив одинаковыми входные данные; различие должно появиться именно на стадии активация COM-сервера.

Как подтвердить исправление

локализуйте разделить registration lookup, запуск процесса, публикацию class factory и первый RPC к серверу. Изменяйте только предпосылку, связанную с «Не удалось создать объект класса», а регистрацию, identity, входной объект и окружение по возможности оставляйте прежними.

не повторять CoCreateInstance в цикле, если запуск сервера имеет неизвестные побочные эффекты; для результата «Не удалось создать объект класса» широкая переустановка, очистка каталога или ослабление безопасности не считается доказательством причины.

Для соседних результатов REGDB_E_CLASSNOTREG сравнивайте первую различающуюся операцию. Исправление подтверждено только тогда, когда исходная граница проходит при прежних входах и следующий ожидаемый шаг получает корректное состояние.

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


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