Plano de fundo OLE: Contêineres e servidores
Um aplicativo de contêiner é um aplicativo que pode incorporar itens incorporados ou vinculados em seus próprios documentos.Documentos gerenciados por um aplicativo de contêiner devem ser capazes de armazenar e exibir componentes do documento OLE, bem como os dados criados pelo próprio aplicativo.Um aplicativo recipiente também deve permitir que os usuários inserir novos itens ou editar itens existentes ativando aplicativos de servidor quando necessário.Os requisitos de interface de usuário de um aplicativo de contêiner são listados no artigo contêineres: problemas de Interface de usuário.
Um aplicativo de servidor ou componente é um aplicativo que pode criar componentes de documento OLE para uso por aplicativos de contêiner.Aplicativos de servidor geralmente oferecem suporte a arrastar e soltar ou copiar os dados na área de transferência para que um aplicativo de contêiner pode inserir dados como um item incorporado ou vinculado.Um aplicativo pode ser um contêiner e um servidor.
A maioria dos servidores são aplicativos autônomos ou servidores completos; eles podem ser executados como aplicativos autônomos ou podem ser iniciados por um aplicativo de contêiner.Um miniserver é um tipo especial de aplicativo de servidor pode ser iniciado apenas por um contêiner.Ele não pode ser executado como um aplicativo independente.Servidores Microsoft desenhar e o Microsoft Graph são exemplos de miniservers.
Servidores e recipientes não se comunicam diretamente.Em vez disso, eles se comunicam através de bibliotecas de vínculo dinâmico do sistema OLE (DLL).Essas DLLs fornecem funções que chamam recipientes e servidores e recipientes e servidores fornecem funções de retorno de chamada que chamam as DLLs.
Usando esse meio de comunicação, um contêiner não precisa conhecer os detalhes de implementação do aplicativo do servidor.Ele permite que um contêiner aceitar itens criados por qualquer servidor sem a necessidade de definir os tipos de servidores com o qual pode trabalhar.Como resultado, o usuário de um aplicativo de contêiner pode aproveitar aplicativos futuros e formatos de dados.Se esses novos aplicativos são componentes OLE, um documento composto será capaz de incorporar itens criados pelos aplicativos.