Что означает код HRESULT 0x80010109 (RPC_E_RETRY)?

 
Предыдущий Следующий
RPC_E_DISCONNECTED RPC_E_SERVERCALL_RETRYLATER

RPC_E_RETRY

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

RPC_E_RETRY (0X80010109) означает, что вызываемый COM-объект решил не обрабатывать вызов сейчас и предлагает повторить его позднее. Это управляемое временное состояние callee, а не доказательство разрыва connection или ошибки marshaling.

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

  • Зафиксируйте, какой компонент возвращает retry и какое состояние делает его временно занятым: modal operation, serialization gate, внутренний lock или message-filter policy.
  • Используйте ограниченный backoff/политику повторов и соблюдайте рекомендации IMessageFilter::RetryRejectedCall, если вызов проходит через message filter. Tight loop только усиливает busy state.
  • Для операции с побочными эффектами подтвердите, что отклонённый вызов действительно не начал выполнение, прежде чем повторять его автоматически.

Если ожидание не меняет результат и объект постоянно возвращает RETRY, ищите зависшее состояние callee или неверную retry policy; пересоздание proxy само по себе не устраняет занятую серверную логику.

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


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