| Предыдущий | Следующий |
| OLE_E_NOT_INPLACEACTIVE | OLE_E_CANTCONVERT |
TAPI_E_INVALCALLSTATE
Диагностическая граница
Для TAPI_E_INVALCALLSTATE (0X80040010) рабочая граница — неверное состояние вызова. Код относится к TAPI 3 call-control и provider state machine. Сохраняйте первый native return и identity объекта: именно они определяют, проверяется ли здесь input, capability, ownership, lifecycle или transport.
TAPI state изменяется событиями provider независимо от UI-команд; поэтому call/address/terminal generation нужно связать с каждым asynchronous request.
Фрагменты исходного EN-описания
TAPI_E_INVALCALLSTATE is HRESULT 2147745808 ( 0x80040010 ) from TAPI 3.0.
Application and provider state caches are out of sync.
A UI queues Answer while the call is offering, but the caller hangs up first; state generation checks discard the obsolete command.
The primary recovery is to drive commands from call-state events, verify the current state immediately before the method, and cancel stale queued actions.
Что фиксировать
- call ID, privilege, current call state и destination.
- address ID/provider и параметры answer/dial/transfer/conference.
- первое state event, async request ID и native HRESULT.
Capabilities принадлежат конкретному service provider и device. То, что операция доступна на одном адресе, не доказывает её допустимость для другого address/media/terminal.
Проверка конкретного условия
Сделайте минимальный before/after experiment для «неверное состояние вызова». Не меняйте одновременно provider, input и state — такой тест не показывает, что именно исправило результат.
Сравните фактически переданное поле «неверное состояние вызова» с capability/state текущего TAPI provider. Не смешивайте invalid-argument с ошибкой жизненного цикла другого объекта.
Восстановление
Исправьте только отклонённое поле или дождитесь требуемого call/address/stream state, затем повторите тот же TAPI method на актуальном объекте.
Технические ссылки
- Microsoft: TAPI_E constants.
- Microsoft: ITAddress::CreateCall.
- Microsoft: ITBasicCallControl.
- Microsoft: TAPI 3 reference.
Нужно найти другой код? Найти другой код состояния или ошибки.