Site icon EfmSoft

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

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

RPC_E_NO_CONTEXT

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

RPC_E_NO_CONTEXT (0X8001011E) означает, что с текущим COM-вызовом не связан контекст вызова. Microsoft отдельно отмечает, что это встречается для некоторых вызовов с пользовательским marshaling и на клиентской стороне вызова.

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

  • Определите, действительно ли код выполняется на серверной ветви вызова, где контекст вызова обязан существовать, или он запущен на клиенте или после пользовательского marshaling.
  • Не сохраняйте указатель на контекст вызова между вызовами и не пытайтесь получать его из worker/callback, который уже вышел из исходной фазы RPC-dispatch.
  • Если используется custom marshaler, сравните путь с обычным marshaling и проверьте, какой контекст он передаёт или намеренно не создаёт.

От RPC_E_CALL_COMPLETE этот код отличается тем, что контекста нет для текущего вызова; CALL_COMPLETE означает обращение к контексту уже после завершения вызова.

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


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

Exit mobile version