tela de fundo OLE: implementação MFC
Devido ao tamanho e à complexidade da API OLE bruta, chamá-la diretamente para gravar aplicativos OLE pode ser muito demorado. O objetivo da implementação da biblioteca Microsoft Foundation Class do OLE é 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 mapeia para a 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, poderá chamar a API OLE diretamente.
Interface IMoniker A interface IMoniker
é implementada pela biblioteca de classes (por exemplo, a classe COleServerItem
), mas não foi exposta anteriormente ao programador. Para obter mais informações sobre essa interface, consulte Implementações do OLE Moniker na seção OLE do SDK do Windows. No entanto, consulte também as classes CMonikerFile e CAsyncMonikerFile.
Interfaces IUnknown e IMarshal A interface IUnknown
é implementada pela biblioteca de classes, mas não é exposta ao programador. A interface IMarshal
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 marshaling internos.
Os arquivos compostos Docfiles (arquivos compostos) têm suporte parcial da biblioteca de classes. Não há suporte para nenhuma das funções que manipulam diretamente arquivos compostos além da criação. O MFC usa a classe COleFileStream
para dar suporte à manipulação de fluxos com funções de arquivo padrão. Para obter mais informações, consulte o artigo Contêineres: arquivos compostos.
Servidores em processo e manipuladores de objetos Os servidores em processo e os manipuladores de objeto permitem a implementação de dados de edição visual ou objetos com modelo de objeto de componente completo (COM) em uma DLL (biblioteca de vínculo dinâmico). Para fazer isso, você pode implementar sua DLL chamando diretamente a API OLE. No entanto, se você estiver escrevendo um servidor de Automação e seu servidor não tiver nenhuma interface do usuário, você poderá fazer do servidor um servidor em processo e colocá-lo inteiramente em uma DLL. Para obter mais informações sobre esses tópicos, consulte Servidores de automação.
Dica
A maneira mais fácil de implementar um servidor de automação é colocá-lo em uma DLL. O MFC dá suporte a essa abordagem.
Para obter mais informações sobre como as classes OLE do Microsoft Foundation implementam interfaces OLE, consulte as Notas Técnicas do MFC 38, 39 e 40.
Confira também
Tela de fundo OLE
Tela de fundo OLE: estratégias de implementação