| Предыдущий | Следующий |
| TAPI_E_INVALIDDIRECTION | TAPI_E_INVALIDTERMINALCLASS |
TAPI_E_INVALIDTERMINAL
Состояние объекта
Для TAPI_E_INVALIDTERMINAL () рабочая граница — неверный terminal. Код относится к TAPI 3 terminal, media-stream и call-control path. Сохраняйте первый native return и identity объекта: именно они определяют, проверяется ли здесь input, capability, ownership, lifecycle или transport.
При гонке answer/hold/transfer/disconnect сохраняйте порядок TAPI events и request completion: поздняя команда часто относится уже к старому call state.
Фрагменты исходного EN-описания
TAPI_E_INVALIDTERMINAL is HRESULT 2147745851 ( 0X8004003B ) from Tapi3err.h.
capture terminal CLSID, address, media type, direction, provider generation, selected stream, and terminal state.
AllStat describes it as “The Terminal passed in was invalid for this operation.” The result normally appears while selecting or operating on a terminal that is foreign, stale, removed, or incompatible with the stream.
The evidence-based correction for this result is to enumerate terminals from the same address and generation as the stream and select one with matching media and direction.
Что сравнивать
- terminal/stream identity, media type, direction и selection state.
- call ID, terminal class и current stream state.
- provider version, async request ID и первое событие перед отказом.
TAPI state изменяется событиями provider независимо от UI-команд; поэтому call/address/terminal generation нужно связать с каждым asynchronous request.
Изолированный тест
В failing trace найдите поле или state, которое непосредственно соответствует «неверный terminal». В working trace той же операции оно должно отличаться, а остальные аргументы оставаться сопоставимыми.
Сравните фактически переданное поле «неверный terminal» с capability/state текущего TAPI provider. Не смешивайте invalid-argument с ошибкой жизненного цикла другого объекта.
Повтор операции
Исправьте только отклонённое поле или дождитесь требуемого call/address/stream state, затем повторите тот же TAPI method на актуальном объекте.
Технические ссылки
- Microsoft: TAPI_E constants.
- Microsoft: ITStream::SelectTerminal.
- Microsoft: TAPI 3.1 Reference.
- Microsoft: Telephony API interfaces.
Нужно найти другой код? Найти другой код состояния или ошибки.
