| Предыдущий | Следующий |
| 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 само по себе не устраняет занятую серверную логику.
Ссылки по этому результату
Нужно найти другой код? Найти другой код состояния или ошибки.