2011-06-14 6 views
0

rasapi32.dll의 RasDial API 함수를 사용하여 RAS 항목이 이미 설정된 임베디드 시스템에서 작업하고 있습니다.Windows XPe RAS 오류 756 "전화 걸기 중입니다"

RasDial 이후와 RasHangUp 이전에 문제가 발생하는 경우를 제외하고 모두 제대로 작동합니다. 이 경우 전화를 걸려는 모든 시도는 API를 통해 또는 Windows rasdial 명령 줄 유틸리티를 통해 다이얼 시도가 수행되었는지 여부에 관계없이 756 "연결 중 전화 걸기"오류가 발생합니다.

rasdial connectionname/d도 도움이되지 않습니다.

모뎀에 사용 된 COM 포트가 잠겨 있습니다.

유일한 방법은 재부팅하는 것입니다.

분명히 정상적인 상황에서 해결책은 RasDial에 항상 RasHangUp이 오는지 확인하는 것입니다. 그러나 이것이 발생하지 않는 경우 다이얼 시도를 중단하는 방법이 있습니까? 예를 들어 앱에서 RasDial을 호출 한 다음 충돌이 발생하면 재부팅하지 않고 다른 방법으로 어떻게 빠져 나갈 수 있습니까?

+0

연결이 여전히 rasenumconnections에 표시되어 있습니까? –

답변

1

불행히도, 응용 프로그램이 RAS 상태 시스템을 종료하기 전에 진행중인 연결을 제대로 종료 할 수없는 경우 문제가 해결되고 다시 부팅해야합니다. 나는 윈도우 7이 XP와 비스타보다 이런 종류의 시나리오를 더 잘 처리한다는 것을 알았지 만, 재부팅해야 할 때가 여전히있다.

나는 RasDialer의 이벤트 처리기에서 발생하는 한 DotRas API의 이러한 종류의 문제를 방지 할 수 있었지만 응용 프로그램이 다른 스레드에서 충돌하고 백그라운드 스레드에서 충돌하지 않는 경우 RasDialer 이벤트를 발생 시키면 그에 대해 할 수있는 일이 없습니다. DotRas 1.2 SDK를 사용하여 비동기 전화 걸기를 들어

: 당신이 진행중인 연결 시도를 취소 할 경우

using DotRas; 

RasDialer dialer = new RasDialer(); 
dialer.EntryName = "My Connection"; 
dialer.Credentials = new NetworkCredential("My", "User"); 
dialer.DialAsync(); 

이 시점에서 당신은 dialer.DialAsyncCancel()를 호출 할 수 있습니다.

DotRas 1.2 SDK를 사용하는 동기식 전화 걸기는 DialAsync 호출을 dialer.Dial()로 바꾸는 것 이외의 비동기식 전화 걸기와 매우 유사합니다. http://www.codeplex.com/DotRas

희망하는 데 도움이 :

는 여기에 내가 얘기했던 API에 대한 링크입니다!