다음을 통해 공유


OLE 백그라운드: MFC 구현

원시 OLE API의 크기와 복잡성으로 인해 OLE 애플리케이션을 직접 작성하기 위해 호출하는 데 시간이 오래 걸릴 수 있습니다. OLE의 MFC 라이브러리 구현의 목표는 완벽한 기능을 갖춘 OLE 지원 애플리케이션을 작성하기 위해 해야 할 작업의 양을 줄이는 것입니다.

이 문서에서는 MFC 내부에서 구현되지 않은 OLE API 부분을 설명합니다. 또한 구현되는 항목이 Windows SDK의 OLE 섹션에 매핑되는 방법도 설명합니다.

클래스 라이브러리에서 구현되지 않은 OLE 부분

OLE의 몇 가지 인터페이스와 기능은 MFC에서 직접 지원하지 않습니다. 이러한 기능을 사용하는 경우 OLE API를 직접 호출할 수 있습니다.

IMoniker 인터페이스 IMoniker 인터페이스 인터페이스는 클래스 라이브러리(예 COleServerItem : 클래스)에 의해 구현되지만 이전에 프로그래머에 노출되지 않았습니다. 이 인터페이스에 대한 자세한 내용은 Windows SDK의 OLE 섹션에서 OLE 모니커 구현을 참조하세요. 그러나 CMonikerFile 및 CAsyncMonikerFile 클래스도 참조하세요.

IUnknown 및 IMarshal 인터페이스 인터페이스는 IUnknown 클래스 라이브러리에 의해 구현되지만 프로그래머에 노출되지 않습니다. 인터페이스는 IMarshal 클래스 라이브러리에서 구현되지 않지만 내부적으로 사용됩니다. 클래스 라이브러리를 사용하여 빌드된 자동화 서버는 이미 마샬링 기능이 내장되어 있습니다.

Docfiles(복합 파일) 복합 파일은 클래스 라이브러리에서 부분적으로 지원됩니다. 만드는 것 이상으로 직접 복합 파일을 조작하는 함수는 지원하지 않습니다. MFC는 클래스 COleFileStream 를 사용하여 표준 파일 함수를 사용하여 스트림 조작을 지원합니다. 자세한 내용은 컨테이너: 복합 파일 문서를 참조하세요.

In-Process 서버 및 개체 처리기 In-process 서버 및 개체 처리기를 사용하면 DLL(동적 연결 라이브러리)에서 시각적 편집 데이터 또는 COM(전체 구성 요소 개체 모델) 개체를 구현할 수 있습니다. 이렇게 하려면 OLE API를 직접 호출하여 DLL을 구현할 수 있습니다. 그러나 사용자 인터페이스가 없는 자동화 서버를 작성하는 경우에는 AppWizard를 사용하여 해당 서버를 In-process 서버로 만든 다음 DLL에 완전히 포함시킬 수 있습니다. 이러한 항목에 대한 자세한 내용은 Automation Server를 참조 하세요.

자동화 서버를 구현하는 가장 쉬운 방법은 DLL에 배치하는 것입니다. MFC는 이 방법을 지원합니다.

Microsoft Foundation OLE 클래스가 OLE 인터페이스를 구현하는 방법에 대한 자세한 내용은 MFC Technical Notes 38, 3940을 참조하세요.

참고 항목

OLE 백그라운드
OLE 백그라운드 구현 전략