| Предыдущий | Следующий |
| RPC_E_CANTCALLOUT_INASYNCCALL | RPC_E_CONNECTION_TERMINATED |
RPC_E_CANTCALLOUT_INEXTERNALCALL
Что означает RPC_E_CANTCALLOUT_INEXTERNALCALL
RPC_E_CANTCALLOUT_INEXTERNALCALL означает, что текущий COM callback не допускает новый исходящий вызов. Часто это происходит внутри методов IMessageFilter или другого обработчика внешнего вызова.
Что проверить
- Сохраните стек и определите callback, внутри которого возник HRESULT.
- Проверьте helper/UI-код на скрытые обращения к COM automation.
- Не выполняйте вызов сервера непосредственно из message-filter decision.
- Перенесите работу в очередь, которая выполнится после возврата из callback.
Исправление заключается в изменении порядка выполнения, а не в повторе того же callout из запрещённого контекста. После переноса убедитесь, что вызов выполняется уже вне внешнего callback.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
