2008-08-21 5 views
5

두 대의 컴퓨터에서 서버와 클라이언트로 DCOM 응용 프로그램을 작업하고 있는데 둘 다 WinXP 서비스 팩 2를 실행하고 있습니다. 두 컴퓨터 모두에서 동일한 사용자 이름으로 로그인했습니다. 암호.DCOM : CoCreateInstanceEx가 E_ACCESSDENIED를 반환합니다.

한 컴퓨터의 클라이언트가 CoCreateInstanceEx를 호출하고 다른 컴퓨터에 서버 응용 프로그램을 시작하도록 요청하면 E_ACCESSDENIED를 반환합니다.

dcomcnfg의 서버 응용 프로그램 구성 요소 속성으로 들어가서 모든 사람에게 모든 권한을 부여하려고 시도했지만 도움이되지 않았습니다.

이 호출이 성공하려면 무엇을해야합니까?

업데이트 : 서버 응용 프로그램이 Windows 2000 상자에서 실행될 때이 오류가 발생하지 않습니다. CoCreateInstanceEx는 S_OK를 반환합니다.

답변

1

세 가지 확인 사항 :

1) DCOMCNFG 및 액세스 보안 만 아니라 또한 "시작 권한"섹션은 보안 사용자 나 그룹에 해당이 포함되어 있는지 확인하고 시도하기 위해 뒤로 이동합니다.

2) 인증 수준이 또한 구성 요소가있는 디스크의 위치가 보안 권한에 구성된 계정에 실제로 액세스 할 수 있는지 확인 "없음"

3) 이외의 다른 것으로 설정되어 있는지 확인 너는 설정했다.

편집 :

하나 더 : 먼저 너무 CoInitialiseSecurity()를 호출하고 있습니까? 그 종소리!

EDIT2 :

당신의 갱신을 바탕으로

: 두 XP 시스템에서 완전히 방화벽을 삭제 시도하고 그 차이를 만드는 경우를 참조하십시오. DCOM을 명시 적으로 처리해야 할 수도 있습니다.

2

인증 수준이 기본값으로 설정된 경우입니다. 기본 설정에서 설정 한 인증 수준은 무엇입니까? 관심 없어. (이것은 2000 상자로 작동한다는 사실은 아마 중복을 수 있지만)

는 편집 : 또한

: 나는 어쩌면 빠른을 DCOM과/작업을 재생하는 데 사용하면 재부팅의 많은 일을 기억하는 것 dcomcnfg 설정이 만족 스러우면 두 컴퓨터를 모두 재부팅해도 문제가되지 않습니다.

+0

[@Shaun Austin II :] (http://stackoverflow.com/questions/20841#20930) 전역 기본 인증 수준은 연결로 설정되고 기본 가장 수준은 식별로 설정됩니다. ** 업데이트 : ** ... 재부팅을 시도했지만 문제가 남아 있습니다. 모든 조언을 주셔서 감사합니다. 그러나 나는 여전히 뭔가를 놓치고 있습니다. –

0

Windows 2000 상자의 맛은 어떻습니까? 프로 페셔널, 서버, 교수실 서버 ... 또한

, 둘 사이의 도메인 구성원 사이의 차이 (도메인 하나, 다른하지, 다른 도메인 등 ..?)가

하나 더 일 - 때때로 DCOM 오류가 시스템 이벤트 로그에 나타납니다. 특히 개체 생성과 관련하여 단서를 확인 했습니까?

0

나는 똑같은 문제가있었습니다. XP SP2 + OS 이상이 설치된 시스템에서 문제가 발생합니다.

나는 다음 단계를 사용하여 그것을 해결 :
  1. 는 클라이언트 및 서버 컴퓨터가 동일한 도메인에 있는지 확인합니다.

  2. 두 컴퓨터에서 동일한 사용자를 사용해야하거나 클라이언트와 서버에서 다른 사용자를 사용하려면 클라이언트와 서버 사용자 모두 양쪽 컴퓨터에 privliges가 있는지 확인해야합니다. 특히 make 그들은 분산 COM 사용자 그룹의 구성원인지 확인합니다.

  3. 개방 Componenet 서비스 MMC (dcomcnfg를 실행).

  4. 로 이동 내 컴퓨터> 속성 -> 기본 속성 및 기본 Impersenation 수준 "이 있는지 확인 '

  5. COM 사용 권한 탭으로 가서 액세스 사용 권한 및 시작 및 활성화 사용 권한 모두에서 제한 편집으로 이동하여 COM 응용 프로그램의 클라이언트 및 서버 사용자에게 로컬 및 원격 액세스 권한을 추가합니다.

  6. 응용 프로그램에 대한 포트 135의 방화벽 예외 ...

이 정보가 도움이 되었기를 바랍니다.

2

PC가 동일한 도메인의 구성원이 아닌 경우 "ANONYMOUS LOGON"에 대한 액세스 권한을 &으로 시작해야합니다. "모두"는 이것을 포함하지 않습니다.

+0

이것이 나를 위해 속임수였습니다 .' – fakeleft

관련 문제