Site icon EfmSoft

Что означает код HRESULT 0x80004024 (CO_E_ATTEMPT_TO_CREATE_OUTSIDE_CLIENT_CONTEXT)?

 
Предыдущий Следующий
CO_E_MSI_ERROR CO_E_SERVER_PAUSED

CO_E_ATTEMPT_TO_CREATE_OUTSIDE_CLIENT_CONTEXT

Что означает результат

CO_E_ATTEMPT_TO_CREATE_OUTSIDE_CLIENT_CONTEXT: COM отклонил создание объекта, потому что запрошенная активация требует контекста клиента, которого в текущей точке выполнения уже нет или использовать его здесь нельзя. Это ошибка границы контекста/impersonation, а не общий DCOM Access Denied.

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

  • Запишите CLSID, текущий thread token и признак impersonation непосредственно перед активацией.
  • Проверьте, не перенесена ли активация в worker thread после выхода из исходного RPC/COM-вызова клиента.
  • Если код должен использовать identity клиента, убедитесь, что impersonation выполняется в документированной области и token ещё действителен.
  • Отделите эту ситуацию от LaunchPermission/AccessPermission: глобальное ослабление DCOM ACL не восстанавливает потерянный client context.

Диагностика и исправление

Перенесите создание объекта в допустимую область клиентского вызова либо явно передайте необходимые данные/учётный контекст поддерживаемым способом. Не храните неявный client context дольше вызова, которому он принадлежит.

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


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

Exit mobile version