У меня есть приложение C # Tapi, которое я разрабатываю для отправки с компьютера на команды Toshiba CIX tapi, которые направляют на телефоны.Сама линия не важна, так как эта часть работает.Я могу набрать телефон из приложения.Однако, отвечая и не вешая трубку работают неправильно.Когда я пытаюсь отключиться, я получаю эту ошибку:
Эта реализация не требует рекомендаций (Исключение из HRESULT: 0x80040003 (OLE_E_ADVISENOTSUPPORTED)) *
И когда я пытаюсь ответить, я получаю:
Невозможно привести объект COM типа 'System .__ ComObject' к типу интерфейса 'TAPI3Lib.ITBasicCallControl'.Эта операция завершилась неудачно, поскольку вызов QueryInterface для компонента COM для интерфейса с IID '{B1EFC389-9355-11D0-835C-00AA003CCABD}' завершился неудачно из-за следующей ошибки: такой интерфейс не поддерживается (Исключение из HRESULT: 0x80004002 (E_NOINTERFACE)).
Мое приложение основано на: http://www.codeproject.com/KB/IP/devangpro.aspx Мне пришлось сделать делегат для добавления элементов в список из-за перекрестной проблемы, чтобы приложение на кодпроекте было вНаименьший пробег правильно.
Вот разъединение:
IEnumCall ec = ia[line].EnumerateCalls();
uint arg = 0;
ITCallInfo ici;
try
{
ec.Next(1,out ici,ref arg);
ITBasicCallControl bc=(ITBasicCallControl)ici;
bc.Disconnect(DISCONNECT_CODE.DC_NORMAL);
ici.ReleaseUserUserInfo();
}
catch(Exception exp)
{
MessageBox.Show("No call to disconnect!","TAPI3");
}
А вот и ответ:
IEnumCall ec = ia[line].EnumerateCalls();
uint arg=0;
ITCallInfo ici;
try
{
ec.Next(1,out ici,ref arg);
ITBasicCallControl bc=(TAPI3Lib.ITBasicCallControl)ici;
if(!reject)
{
bc.Answer();
}
else
{
bc.Disconnect(DISCONNECT_CODE.DC_REJECTED);
ici.ReleaseUserUserInfo();
}
}
catch(Exception exp)
{
MessageBox.Show("There may not be any calls to answer! \n\n"+exp.ToString(),"TAPI3");
}