| Предыдущий | Следующий |
| RPC_E_INVALID_OBJECT | RPC_S_WAITONTIMER |
RPC_S_CALLPENDING
Интерпретация результата
RPC_S_CALLPENDING (0X80010115) означает: OLE уже отправил запрос и всё ещё ждёт окончательного ответа. Этот HRESULT описывает узкую границу, поэтому сначала фиксируйте producing method и объект, а затем уже интерпретируйте сообщение пользователя.
Английский маркер для сопоставления с исходной документацией: OLE has sent a request and is waiting for a reply.
. Используйте его как поисковый ключ вместе с timestamp и transaction/session ID.
Что сохранить
- IMessageFilter decision, rejected call type и server busy state.
- исходный method, retry delay и correlation ID.
- таймлайн STA message pump и последний завершённый COM call.
Код-специфическая проверка
Сопоставьте client/server generation, apartment, proxy identity и первый wire/RPC результат до того, как wrapper преобразует его в общий COM exception.
Постройте таймлайн pending transaction: начало, последний callback, protocol timer и cancellation owner. До повторной попытки нужно понять, завершилась ли предыдущая операция удалённо или осталась неопределённой.
Восстановление
Повтор разрешайте только после конечного состояния предыдущей transaction либо после нового dialog/session generation; не replay-те потенциально неидемпотентную операцию вслепую.
После изменения повторите тот же вызов и сравните первый HRESULT, достигнутую фазу и побочные эффекты. Исправление подтверждено только если прежнее условие «OLE уже отправил запрос и всё ещё ждёт окончательного ответа» больше не возникает на сопоставимом входе.
Технические ссылки
- Microsoft: COM error codes.
- Microsoft: COM processes, threads, and apartments.
- Microsoft: COM security defaults.
- Microsoft: HRESULT values.
Нужно найти другой код? Найти другой код состояния или ошибки.