Что означает код HRESULT 0x80080004 (CO_E_BAD_PATH)?

 
Предыдущий Следующий
CO_E_SCM_RPC_FAILURE CO_E_SERVER_EXEC_FAILURE

CO_E_BAD_PATH

Что означает CO_E_BAD_PATH

CO_E_BAD_PATH (0X80080004) означает, что OLE/COM получил недопустимый путь к объекту при активации или привязке. Важно локализовать именно путь, который фактически использовала COM, а не проверять только наличие приложения в меню или PATH процесса.

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

  • Для локального сервера снимите фактическое значение LocalServer32, кавычки, аргументы и раскрытие переменных; проверьте существование файла под той же учётной записью, что выполняет активацию.
  • Если путь пришёл из moniker/registration data, сравните его с рабочим объектом и проверьте нормализацию UNC, drive mapping и недоступные пользовательские диски.
  • Отделяйте этот код от CO_E_SERVER_EXEC_FAILURE: при BAD_PATH проблема обнаруживается на пути к объекту; SERVER_EXEC_FAILURE означает, что стадия запуска сервера уже была достигнута.

Исправление подтверждается тем, что без изменения CLSID и параметров вызова COM проходит стадию разрешения пути и переходит к запуску/регистрации фабрика классов.

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


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