| Предыдущий | Следующий |
| OLE_E_NOCACHE | OLE_E_BLANK |
TAPI_E_ALLOCATED
Уровень подсистемы
Для TAPI_E_ALLOCATED (0X80040006) рабочая граница — ресурс уже выделен. Код относится к TAPI 3 provider, address и call-control API. Сохраняйте первый native return и identity объекта: именно они определяют, проверяется ли здесь input, capability, ownership, lifecycle или transport.
Capabilities принадлежат конкретному service provider и device. То, что операция доступна на одном адресе, не доказывает её допустимость для другого address/media/terminal.
Фрагменты исходного EN-описания
TAPI_E_ALLOCATED is HRESULT 2147745798 ( 0x80040006 ) from TAPI 3.0.
The service provider retains an allocation after a call.
The caller requests owner access where monitor access is the only available mode.
Two dialer processes request exclusive modem ownership; the second reports the conflict and waits for the first to close the address.
Минимальный trace
- provider name/version, address ID и device class.
- current address/call/phone state и privilege.
- точный IT* method, async request ID и первый native HRESULT.
При гонке answer/hold/transfer/disconnect сохраняйте порядок TAPI events и request completion: поздняя команда часто относится уже к старому call state.
Как отделить соседний код
Проверьте condition «ресурс уже выделен» на том же объекте и том же API. Один контролируемый change должен либо убрать этот HRESULT, либо сдвинуть первый failure к другому, более конкретному коду.
Проверьте ownership и resource count именно у текущего provider object; освободите только доказанно принадлежащий caller ресурс и дождитесь state event.
Критерий успеха
Устраните TAPI-condition «ресурс уже выделен», обновите provider state и повторите минимальный исходный call-control/request method.
Технические ссылки
- Microsoft: TAPI_E constants.
- Microsoft: ITAddress::CreateCall.
- Microsoft: ITBasicCallControl.
- Microsoft: TAPI 3 reference.
Нужно найти другой код? Найти другой код состояния или ошибки.