| Предыдущий | Следующий |
| TAPI_E_REQUESTFAILED | TAPI_E_INVALPRIVILEGE |
TAPI_E_REQUESTCANCELLED
Практический смысл
Для TAPI_E_REQUESTCANCELLED () рабочая граница — запрос отменён. Код относится к TAPI asynchronous request и event delivery. Сохраняйте первый native return и identity объекта: именно они определяют, проверяется ли здесь input, capability, ownership, lifecycle или transport.
TAPI state изменяется событиями provider независимо от UI-команд; поэтому call/address/terminal generation нужно связать с каждым asynchronous request.
Фрагменты исходного EN-описания
TAPI_E_REQUESTCANCELLED is HRESULT 2147745848 ( 0X80040038 ) from Tapi3err.h.
capture request ID, cancellation source, recipient, queue state, side-effect marker, completion event, and elapsed time.
AllStat describes it as “The request was cancelled.” The result normally appears while observing an Assisted Telephony or asynchronous provider request cancelled before completion.
The evidence-based correction for this result is to treat explicit cancellation as terminal, remove the request from local tracking, and confirm whether any side effect occurred.
Исходные данные
- provider name/version, address ID и device class.
- current address/call/phone state и privilege.
- точный IT* method, async request ID и первый native HRESULT.
Capabilities принадлежат конкретному service provider и device. То, что операция доступна на одном адресе, не доказывает её допустимость для другого address/media/terminal.
Локализация
Сделайте минимальный before/after experiment для «запрос отменён». Не меняйте одновременно provider, input и state — такой тест не показывает, что именно исправило результат.
Разделяйте asynchronous completion, remote call state и provider loss. Сохраняйте первое событие, которое изменило state, до автоматического повтора.
Подтверждение исправления
Обрабатывайте состояние как завершившуюся/изменившуюся асинхронную операцию; повторяйте только после нового call/request generation и проверки side effects.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.