| Предыдущий | Следующий |
| RPC_E_INVALID_OBJECT | RPC_S_WAITONTIMER |
RPC_S_CALLPENDING
Что означает RPC_S_CALLPENDING
RPC_S_CALLPENDING (0X80010115) означает, что OLE уже отправил запрос и всё ещё ожидает ответ. Это состояние ожидающего вызова, а не доказательство сбоя сервера.
Что проверить
- Постройте временную шкалу: отправка, последний callback/прогресс, срок тайм-аута/отмены и окончательный ответ. Пока финального результата нет, не создавайте параллельный дубликат той же операции.
- Проверьте обработку сообщений STA и message filter: блокировка диспетчеризации может растянуть состояние ожидания даже при работающем серверном процессе.
- Для неидемпотентного метода храните идентификатор корреляции/идемпотентности, чтобы после тайм-аута или повторного соединения можно было установить, выполнена ли исходная операция.
Если ожидание штатно завершается ответом, обрабатывать CALLPENDING как ошибку не нужно. Если оно заканчивается тайм-аутом или гибелью сервера, дальнейшая диагностика должна опираться уже на окончательный HRESULT.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.