복합 문서
OLE 복합 문서를 사용하면 단일 애플리케이션 내에서 작업하는 사용자가 다양한 형식으로 작성되고 여러 원본에서 파생된 데이터를 조작할 수 있습니다. 예를 들어 사용자는 두 번째 애플리케이션에서 만든 그래프와 세 번째 애플리케이션에서 만든 사운드 개체를 워드 프로세싱 문서에 삽입할 수 있습니다. 그래프를 활성화하면 두 번째 애플리케이션이 사용자 인터페이스 또는 개체를 편집하는 데 필요한 도구가 포함된 부분 이상을 로드합니다. 소리 개체를 활성화하면 세 번째 애플리케이션이 재생됩니다. 두 경우 모두 사용자는 단일 문서의 컨텍스트 내에서 외부 원본의 데이터를 조작할 수 있습니다.
OLE 복합 문서 기술은 COM, 구조적 스토리지 및 균일한 데이터 전송으로 구성된 기초에 달려 있습니다. 아래에 요약된 것처럼 이러한 각 핵심 기술은 OLE 복합 문서에서 중요한 역할을 합니다.
-
Com
-
복합 문서 개체는 기본적으로 기존 문서에 포함되거나 연결될 수 있는 COM 개체입니다. COM 개체로서 복합 문서 개체는 IUnknown 인터페이스를 노출하며, 이를 통해 클라이언트는 복합 문서 개체에 고유한 특수 기능을 제공하는 IOleObject, IOleLink 및 IViewObject2와 같은 여러 인터페이스를 포함하여 다른 인터페이스에 대한 포인터를 가져올 수 있습니다.
-
구조적 스토리지
-
복합 문서 개체는 자체 스토리지를 관리하려면 IPersistStorage 또는 선택적으로 IPersistStream 인터페이스를 구현해야 합니다. 복합 문서를 만드는 데 사용되는 컨테이너는 개체가 데이터를 저장하고 검색하는 IStorage 인터페이스를 제공해야 합니다. 컨테이너는 거의 항상 OLE의 복합 파일 구현에서 가져온 IStorage 인스턴스를 제공합니다. 또한 컨테이너는 개체의 IPersistStorage 및/또는 IPersistStream 인터페이스를 사용해야 합니다.
-
균일한 데이터 전송
-
포함된 개체 및 연결된 개체가 표준 Microsoft Windows 클립보드 형식이 아닌 특수 OLE 클립보드 형식을 사용하여 전송된 데이터로 시작하므로 복합 문서를 지원하는 애플리케이션은 IDataObject 를 구현해야 합니다. 즉, 데이터를 포함되거나 연결된 개체로 서식을 지정하는 것은 OLE의 균일한 데이터 전송 모델에서 제공하는 옵션 중 하나일 뿐입니다.
OLE의 복합 문서 기술은 소프트웨어 개발자와 사용자 모두에게 혜택을 줍니다. 소프트웨어 개발자는 생각할 수 있는 모든 기능을 단일 애플리케이션으로 벼락치기해야 한다고 느끼는 대신, 이제 다른 애플리케이션에 의존하여 추가 기능을 제공하는 더 작고 집중적인 애플리케이션을 개발할 수 있습니다. 소프트웨어 개발자가 핵심 기능 이외의 기능을 애플리케이션에 제공하기로 결정한 경우 개발자는 이러한 추가 서비스를 별도의 DLL로 구현할 수 있으며, 이 서비스는 서비스가 필요할 때만 메모리에 로드됩니다. 사용자는 필요에 따라 혼합하고 일치시킬 수 있는 더 작고 더 빠르고 지원되는 소프트웨어를 통해 단일 master 문서 내에서 필요한 모든 구성 요소를 조작할 수 있습니다.
자세한 내용은 아래 항목을 참조하세요.
- 컨테이너 및 서버
- 연결 및 포함
- 개체 처리기
- In-Process 서버
- 연결된 개체 및 모니커
- 알림
- 복합 문서 인터페이스
- 개체 상태
- In-Place 활성화 구현
- 기존 데이터에서 연결된 개체 및 포함된 개체 만들기
- 캐싱 보기
관련 항목