2011-03-18 3 views
3

Microsoft Lync 2010 API를 사용하여 사용자 지정 가중치 인/아웃 보드 (AKA 상태, 현재 상태 등) 응용 프로그램을 작성하고 있습니다. 시작/로그인 후에 실행해야하지만 컴퓨터를 시작/재시작 한 후 로그인 할 때 문제가 발생했습니다. 나는 LyncClient.GetClient 방법시작시 사용자 지정 Lync 클라이언트가 실패 함

함께 System.Runtime.InteropServices.COMException (0x800706BE)에서 다음과 같은 오류가 발생합니다 : 원격 프로 시저를 호출하지 못했습니다. (HRESULT에서 예외 : 0x800706BE) Microsoft.Lync.Model.LyncClient.GetClient()에서 Microsoft.Office.Uc.IUCOfficeIntegration.GetInterface (문자열 _version, OIInterface의 _interface) 에서 는

내 응용 프로그램은 ClickOnce를하다 네트워크 드라이브에서 실행되는 응용 프로그램입니다. 온라인 모드에서만 사용할 수 있습니다. .application 파일은 netlogon에서 실행되는 배치 파일에서 호출됩니다. 내 컴퓨터가 잠시 동안 실행 된 후에 배치 파일을 실행하면 정상적으로 작동합니다. 로그 아웃 한 다음 다시 로그인하면 작동합니다. 따라서 LyncClient.GetClient 메서드가 호출 될 때 아직 시작되지 않은 서비스가 필요하다고 가정합니다.

+0

Lync를 금지 UI 모드로 실행하고 있습니까? –

+0

그래, UI 모드가 꺼져있다 – skeletank

답변

3

나는 그것이 당신이 기다리고있는 서비스라는 점에 동의 할 것이고 "원격 프로 시저 호출 (RPC)"서비스에서 추측 할 위험이 있습니다. 이것은 COM 통신을 가능하게하는 서비스입니다 (즉, COM 활성화 요청을 처리합니다).

서비스 제어 관리자는 서비스를 종료 할 수 없으므로이를 테스트하는 것은 어렵습니다. Windows의 큰 조각이 COM에 의존하기 때문에 중요한 서비스입니다.

테스트하려면 코드에서 서비스의 시작 상태를 확인한 다음 해당 서비스가 시작될 때만 Lync를 초기화하면됩니다.

+0

고마워, 그게 효과가있는 것 같아. 내가 사용했다 ServiceController serviceController = 새로운 ServiceController (ServiceName_RemoteProcedureCall); serviceController.WaitForStatus (ServiceControllerStatus.Running); – skeletank

관련 문제