| Предыдущий | Следующий |
| RPC_E_INVALID_PARAMETER | RPC_E_SERVER_DIED_DNE |
RPC_E_CANTCALLOUT_AGAIN
Что означает RPC_E_CANTCALLOUT_AGAIN
RPC_E_CANTCALLOUT_AGAIN (0X80010011) означает, что код пытается выполнить второй исходящий вызов по тому же каналу в фазе, где COM/DDE допускает только один outstanding call. Это ограничение reentrancy/call sequencing.
Что проверить
- Снимите стек первого и второго callout и определите, какой callback или message handler инициировал вложенный вызов до завершения предыдущего.
- Не решайте проблему созданием второго произвольного proxy: сначала устраните незаконную вложенность и дождитесь выхода из текущей call phase.
- Если операция должна быть асинхронной, перенесите её на очередь/другую допустимую фазу и подтвердите, что второй call стартует только после завершения первого.
В отличие от RPC_E_CANTTRANSMIT_CALL, здесь очередь не обязана быть переполнена: сам второй callout запрещён текущим состоянием канала.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.