| Предыдущий | Следующий |
| 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, который ожидает вызываемый код» больше не возникает на сопоставимом входе.
Технические ссылки
- Microsoft: COM RPC error codes.
- Microsoft: IMessageFilter.
- Microsoft: RetryRejectedCall.
- Microsoft: CoInitialize.
Нужно найти другой код? Найти другой код состояния или ошибки.