Partilhar via


Contexto OLE: Implementação MFC

Devido ao tamanho e à complexidade da API OLE bruta, chamá-la diretamente para escrever aplicativos OLE pode ser muito demorada. O objetivo da implementação do OLE da Microsoft Foundation Class Library é reduzir a quantidade de trabalho que você precisa fazer para escrever aplicativos completos e compatíveis com OLE.

Este artigo explica as partes da API OLE que não foram implementadas dentro do MFC. A discussão também explica como o que é implementado corresponde à seção OLE do SDK do Windows.

Partes do OLE não implementadas pela biblioteca de classes

Algumas interfaces e recursos do OLE não são fornecidos diretamente pelo MFC. Se você quiser usar esses recursos, você pode chamar a API OLE diretamente.

Interface IMoniker A IMoniker interface é implementada pela biblioteca de classes (por exemplo, a COleServerItem classe), mas não foi exposta anteriormente ao programador. Para obter mais informações sobre essa interface, consulte Implementações de moniker OLE na seção OLE do SDK do Windows. No entanto, consulte também a classe CMonikerFile e CAsyncMonikerFile.

IUnknown e IMarshal Interfaces A IUnknown interface é implementada pela biblioteca de classes, mas não é exposta ao programador. A IMarshal interface não é implementada pela biblioteca de classes, mas é usada internamente. Os servidores de automação criados usando a biblioteca de classes já têm recursos de empacotamento integrados.

Docfiles (Compound Files) Os arquivos compostos são parcialmente suportados pela biblioteca de classes. Nenhuma das funções que manipulam diretamente arquivos compostos além da criação são suportadas. MFC usa classe COleFileStream para suportar a manipulação de fluxos com funções de arquivo padrão. Para obter mais informações, consulte o artigo Containers: Compound Files.

In-Process Servidores e manipuladores de objetos Servidores em processo e manipuladores de objetos permitem a implementação de dados de edição visual ou objetos COM (Component Object Model) completos em uma biblioteca de vínculo dinâmico (DLL). Para fazer isso, você pode implementar sua DLL chamando a API OLE diretamente. No entanto, se você estiver escrevendo um servidor de automação e seu servidor não tiver interface de usuário, você pode usar o AppWizard para tornar seu servidor um servidor em processo e colocá-lo completamente em uma DLL. Para obter mais informações sobre esses tópicos, consulte Servidores de automação.

Sugestão

A maneira mais fácil de implementar um servidor de automação é colocá-lo em uma DLL. O MFC apoia esta abordagem.

Para obter mais informações sobre como as classes Microsoft Foundation OLE implementam interfaces OLE, consulte Notas técnicas MFC 38, 39 e 40.

Ver também

Plano de fundo OLE
Plano de fundo OLE: Estratégias de implementação