Что означает код HRESULT 0x80010006 (RPC_E_CONNECTION_TERMINATED)?

 
Предыдущий Следующий
RPC_E_CANTCALLOUT_INEXTERNALCALL RPC_E_SERVER_DIED

RPC_E_CONNECTION_TERMINATED

RPC_E_CONNECTION_TERMINATED: смысл кода и диагностика

RPC_E_CONNECTION_TERMINATED (0X80010006) означает, что конкретное COM/RPC-соединение завершено или находится в некорректном состоянии и больше не может использоваться. Microsoft отдельно указывает, что другие соединения при этом могут оставаться действительными.

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

  • Сопоставьте момент первого HRESULT с disconnect/release, завершением server process, сетевым reset или teardown apartment. Нужна причина потери именно этого connection.
  • Не продолжайте использовать прежний proxy после подтверждённого разрыва. Получите новый объект/interface через штатную активацию или marshaling и сравните результат.
  • Если другие COM-соединения к тому же серверу продолжают работать, не диагностируйте общий outage RPC service: это сильный признак локального connection/proxy lifetime.

Для неидемпотентного метода отдельно установите, успел ли предыдущий вызов выполниться до разрыва, прежде чем отправлять его через новое соединение повторно.

Ссылки по этому результату


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