다음을 통해 공유


개체 처리기

OLE 서버 애플리케이션이 로컬 서버인 경우 자체 프로세스 공간에서 실행되므로 컨테이너와 서버 간의 통신은 프로세스 경계를 넘어 발생해야 합니다. 이 프로세스는 비용이 많이 들기 때문에 OLE는 컨테이너의 프로세스 공간에 로드된 서로게이트 개체를 사용하여 로컬 서버 애플리케이션을 대신하여 작동합니다. 개체 처리기라고 하는 이 서로게이트 개체는 그리기 요청과 같이 서버 애플리케이션의 주의가 필요하지 않은 컨테이너 요청을 처리합니다. 컨테이너가 개체 처리기에서 제공할 수 없는 항목을 요청하면 처리기는 COM의 Out-of-process 통신 메커니즘을 사용하여 서버 애플리케이션과 통신합니다.

개체 처리기는 개체 클래스에 고유합니다. 한 클래스에 대한 처리기의 instance 만들 때 다른 클래스에는 사용할 수 없습니다. 복합 문서에 사용되는 경우 개체 처리기는 특정 클래스의 개체가 원격으로 액세스할 때 컨테이너 쪽 데이터 구조를 구현합니다.

OLE는 로컬 서버 애플리케이션에서 사용할 수 있는 기본 개체 처리기를 제공합니다. 특별한 동작이 필요한 애플리케이션의 경우 개발자는 기본 처리기를 대체하거나 이를 사용하여 특정 기본 동작을 제공하는 사용자 지정 처리기를 구현할 수 있습니다.

개체 처리기는 여러 상호 작용 구성 요소를 포함하는 DLL입니다. 이러한 구성 요소에는 처리기와 해당 서버 애플리케이션 간의 통신을 관리하는 원격 조각, 개체의 데이터를 저장하기 위한 캐시, 해당 데이터의 형식 지정 및 표시 방법에 대한 정보 및 DLL의 다른 구성 요소의 활동을 조정하는 제어 개체가 포함됩니다. 또한 개체가 링크인 경우 DLL에는 링크 원본의 이름과 위치를 추적하는 연결 구성 요소 또는 연결된 개체도 포함됩니다.

캐시에는 처리기가 로드되었지만 실행되지 않는 개체를 컨테이너에 표시하기에 충분한 데이터 및 프레젠테이션 정보가 포함되어 있습니다. OLE는 OLE의 기본 개체 처리기 및 링크 개체에서 사용하는 캐시의 구현을 제공합니다. 캐시는 컨테이너 그리기 요청을 충족하기 위해 개체 처리기에 필요한 형식으로 데이터를 저장합니다. 개체의 데이터가 변경되면 개체는 업데이트가 발생할 수 있도록 캐시에 알림을 보냅니다. 캐시에 대한 자세한 내용은 캐싱 보기를 참조하세요.

자세한 내용은

복합 문서