Plano de fundo de OLE: Implementação do MFC
Devido a dimensionar e da complexidade da brutos OLE API, chamá-lo diretamente aos aplicativos gravar OLE pode ser muito demorado.O meta da Microsoft Foundation biblioteca de classees implementação do OLE é reduzir a quantidade de trabalho, você precisa fazer para escrever aplicativos completos, compatíveis com OLE.
Este artigo explica as partes da 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 de não implementado pela biblioteca de classes OLE
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
The IMoniker interface é implementada pela biblioteca de classes (por exemplo, o COleServerItem classe), mas foi não anteriormente exposto para o programador. Para obter mais informações sobre essa interface, consulte OLE moniker implementações na seção OLE do Windows SDK. No entanto, também consulte classe CMonikerFile and CAsyncMonikerFile.IUnknown e interfaces IMarshal
The IUnknown interface é implementada pelo classe biblioteca mas não é exposto ao programador.The IMarshal interface não está implementado pela biblioteca de classes mas é usado internamente.Servidores de automação construídos usando a biblioteca de classes já têm recursos internos de marshaling.Docfiles (arquivos compostos)
Arquivos compostos são parcialmente suportados pela biblioteca de classes.Nenhuma das funções de manipulam diretamente compostos arquivos além da criação são suportadas.MFC usa 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: Compostos de arquivos.Identificadores de objeto e servidores em processo
Servidores em processo e manipuladores de objeto permitem a implementação de edição visual de dados ou objetos COM (componente Object Model) 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 do usuário, você pode usar AppWizard para tornar seu servidor em 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 para implementar um servidor de automação é colocá-lo em uma DLL.Essa abordagem oferece suporte a MFC.
Para obter mais informações sobre como as OLE do Microsoft Foundation classes implementam interfaces OLE, consulte Notas técnicas do MFC 38, 39, and 40.