Что означает код HRESULT 0x8001011E (RPC_E_NO_CONTEXT)?

 
Предыдущий Следующий
RPC_E_INVALID_OBJREF RPC_E_TIMEOUT

RPC_E_NO_CONTEXT

Интерпретация результата

RPC_E_NO_CONTEXT (0X8001011E) означает: с текущим вызовом COM/RPC не связан call context, который ожидает вызываемый код. Этот HRESULT описывает узкую границу, поэтому сначала фиксируйте producing method и объект, а затем уже интерпретируйте сообщение пользователя.

Английский маркер для сопоставления с исходной документацией: No context is associated with this call; This happens for some custom marshalled calls and on the client side of the call.. Используйте его как поисковый ключ вместе с timestamp и transaction/session ID.

Что сохранить

  • interface/method, client/server process generation и correlation ID.
  • thread/apartment, call context и marshaling path.
  • первый remote HRESULT, timeout/cancellation state и side-effect marker.

Код-специфическая проверка

Сопоставьте client/server generation, apartment, proxy identity и первый wire/RPC результат до того, как wrapper преобразует его в общий COM exception.

Отсутствие нужно доказать на той collection или protocol boundary, где его увидел RTC: проверьте ключ/URI/stream/device и generation, а не наличие одноимённого объекта где-либо в процессе.

Восстановление

Восстановите только отсутствующий profile element, device, stream, registration или collection entry и повторите исходный метод с прежними остальными входами.

После изменения повторите тот же вызов и сравните первый HRESULT, достигнутую фазу и побочные эффекты. Исправление подтверждено только если прежнее условие «с текущим вызовом COM/RPC не связан call context, который ожидает вызываемый код» больше не возникает на сопоставимом входе.

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


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