컴퓨터에서 Toshiba CIX tapi 명령으로 전화를 걸기 위해 개발중인 C# Tapi 응용 프로그램이 있습니다. 라인 자체는 그 부분이 작동하는 것처럼 중요하지 않습니다. 응용 프로그램에서 전화를 걸 수 있습니다. 그러나 응답 및 전화 끊기가 올바르게 작동하지 않습니다. (HRESULT에서 예외 : 0x80040003 (OLE_E_ADVISENOTSUPPORTED))이 구현은 고려하지 않습니다Toshiba CX로 TAPI를 사용하려고하는 응용 프로그램
가 조언 : 나는 때문에 차단하려고 할 때이 오류가 얻을
을 내가 대답 할 때 내가 얻을 :
Unable to cast COM object of type 'System.__ComObject' to interface type 'TAPI3Lib.ITBasicCallControl'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{B1EFC389-9355-11D0-835C-00AA003CCABD}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).
내 응용 프로그램을 기반으로합니다 : http://www.codeproject.com/KB/IP/devangpro.aspx 적어도 제대로 실행하려면 codeproject에 대한 응용 프로그램을 얻으려면 크로스 스레드 문제 때문에 목록 상자에 항목을 추가하기 위해 대리인을 만들어야했습니다. 여기
은 해제입니다 :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");
}