Plano de fundo OLE: Implementação MFC
Devido ao tamanho e complexidade da bruto OLE API, chamá-lo diretamente para escrever aplicativos de OLE pode ser muito demorado.O objetivo da implementação de OLE do Microsoft Foundation Class Library é reduzir a quantidade de trabalho que você precisa fazer para escrever aplicativos compatíveis com OLE, completo.
Este artigo explica as partes a API OLE que não foram implementadas no MFC.A discussão também explica como o que é implementado mapeia para a seção OLE o Windows SDK.
Partes do OLE não implementado pela biblioteca de classe
Algumas interfaces e recursos de OLE não são fornecidos diretamente pelo MFC.Se você quiser usar esses recursos, você pode chamar a API OLE diretamente.
Interface IMoniker
O IMoniker interface é implementada pela biblioteca de classe (por exemplo, o COleServerItem classe), mas anteriormente não exposta para o programador.Para obter mais informações sobre essa interface, consulte OLE Moniker implementações na seção OLE o Windows SDK.No entanto, também consulte classe CMonikerFile e CAsyncMonikerFile.IUnknown e IMarshal Interfaces
O IUnknown interface é implementada pela biblioteca de classe, mas não é exposta para o programador.O IMarshal interface não é implementada pela biblioteca de classe, mas é usado internamente.Servidores de automação criados usando a biblioteca de classe já têm recursos internos de empacotamento.DOCFILES (arquivos compostos)
Arquivos compostos são parcialmente suportados pela biblioteca de classe.Nenhuma das funções que manipulam diretamente arquivos compostos além criação são suportadas.MFC usa a classe COleFileStream para oferecer 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 objeto
Servidores em processo e manipuladores de objeto permitem a implementação de edição visual de dados ou objetos de modelo de objeto componente (COM) completo 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 o servidor não tem nenhuma interface de usuário, você pode usar 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.Dica A maneira mais fácil de implementar um servidor de automação é colocá-lo em uma DLL.MFC oferece suporte a essa abordagem.
Para obter mais informações sobre como as OLE do Microsoft Foundation classes implementam interfaces OLE, consulte MFC técnico anotações 38, 39, e 40.