2010-07-07 3 views
1

외부 COM COM 서버가 액세스 할 수있는 인터페이스를 제공하는 COM 클라이언트를 사용하는 경우 서버에서 사용할 수 있도록 시스템에 형식 라이브러리 또는 .idl 파일을 등록해야합니다 인터페이스에 액세스하려면?COM 형식 라이브러리 및 인터페이스 노출

이 클라이언트 프로세스에서 프록시/스텁 DLL을 생성하여 시스템에 등록 할 수 있는지 확실하지 않습니다.

인터페이스를 구현하는 개체가 Apartment Threading의 어떤 유형에서 생성되었거나 COM 런타임에서이 마샬링을 처리하는 것이 중요합니까?

클라이언트가 MTA 또는 STA인지 확실하지 않습니다.

+0

왜 프록시/스텁 생성이 확실하지 않습니까? 이것은 명백한 접근법입니다. –

+0

예, client.exe의 프록시/스텁은 어떻게 생성합니까? –

+0

out-proc 서버에 대한 프록시/스텁은 in-proc 서버와 동일한 방식으로 생성합니다. MIDL에 프록시/스텁 파일을 생성 한 다음 라이브러리로 컴파일하고 링크하도록 요청하십시오. 여기서 뭐가 문제 야? – sharptooth

답변

2

클라이언트와 서버가 별도의 프로세스에 있으므로 어쨌든 마샬링해야합니다. 스레딩 모델은 영향을 미치지 않습니다. 어떤 유형의 마샬링 (marshalling) 유형 (예 : 자동화) 마샬링 (marshalling), 프록시/스텁 마샬링 (proxy/stub marshalling)을 사용할 수 있습니다.

관련 문제