2013-04-11 2 views
0

panasonic TSP를 사용하여 panasonic PBX에서 이벤트를 수신 한 다음받은 이벤트에 대해 특정 작업을 수행하는 프로그램이 있습니다. PBX에서 상태 변경을 만들고 이벤트에만 관심이있는 함수를 호출하지 않으므로 lineGetCallInfolineGetCallStatus 만 사용합니다. 이제 문제가 생겼습니다 : 파나소닉 TSP가 svchost.exe (Windows 전화 통신 서비스)에서 액세스 위반을 만들고 TAPI에서 이벤트를 가져올 수 없습니다.Panasonic TSP 충돌

나의 상사는 TAPI를 사용함에있어서 약간의 문제가 있음에도 불구하고 몇 가지 기능 만 사용하고 있으며, 동일한 문제가 있거나 더 많은 정보를 어디에서 찾아야하는지 알고 있습니다. 심지어이 오류를 어떻게 디버깅해야합니까?

나는 IOCP 와 C++ TAPI 2 인터페이스를 프로그래밍하고있어 내 프로그램은 윈도우 서버에서 실행중인 2003 내 PBX 정말 높은 사용자가 지정 할 수로드

답변

0

또는 얼마나 자주 TSP 충돌과 TDA600입니까?

몇 가지 기능을 사용하더라도 TSP가 callstate 'idle'이벤트에서 'lineDeallocateCall'을 호출하여 TSP가 메모리를 지울 수 있음을 알 수 있습니다. 이를 무시하면 버퍼 오버 플로우 및 액세스 위반이 발생할 수 있습니다. 물론, 파나소닉 측에서는 다소 짜증 난 프로그래밍이 필요 하겠지만 이론 일 뿐이다.

+0

늦게 답변을 드려 죄송합니다. 소멸자에서 자동으로 'lineDeallocateCall'을 호출하는 호출 객체 클래스가 있습니다. 그래서 내 프로그램은 메모리 누수가 없기 때문에 문제가 될 수 없다. 그래서 나는 모든 호출 객체가 예상대로 닫힐 것이라고 가정한다. – BigBoss

+0

그래, 아마 그렇지 않을 것이다. 함수 호출에 대한 코드를 질문에 추가 할 수 있습니까? 그리고 액세스 위반은 일관되게 발생합니까? 그렇다면이 정보를 공유하면 도움이 될 것입니다. 어쩌면 LineGetCallInfo와 함께 전달 된 버퍼를 할당/지정하는 방식에 문제가있을 수 있습니다. – SpaghettiCook