inscrição
Quando um usuário inserir um item OLE em um aplicativo, o OLE apresenta uma lista dos tipos de objeto a serem escolhidas.OLE obtém essa lista de banco de dados de inscrição de sistema, que contém informações fornecidas por todos os aplicativos de servidor.Quando um servidor se registra, as entradas coloca no banco de dados de inscrição do sistema (inscrição) descrevem cada tipo de objeto fornece, extensões de arquivo e o caminho para si mesmo, entre outras informações.
A estrutura e as bibliotecas de vínculo dinâmico do sistema OLE (DLL) usam esse registro para determinar que tipos de itens OLE estão disponível no sistema.O sistema OLE DLLs também usar esse registro para determinar como inicialização um aplicativo do servidor quando um objeto vinculado ou incorporado é ativado.
Este artigo descreve o que cada aplicativo do servidor precisa fazer quando ele é instalado e cada time é executado.
Para obter informações detalhadas sobre o inscrição do sistema de banco de dados e o formato dos arquivos .reg usadas para atualização, consulte o Referência do programador de OLE.
Instalação do servidor
Ao instalar o aplicativo de servidor pela primeira vez, ele deve registrar todos os tipos de itens OLE que ofereça suporte a ele.Você também pode fazer com que o servidor atualizar o banco de dados de inscrição do sistema sempre que ele seja executado sistema autônomo um aplicativo independente.Isso mantém o banco de dados de inscrição atualizadas se o arquivo executável do servidor é movido.
Observação: |
---|
Aplicativos MFC gerados automaticamente pelo Assistente de aplicativo registram-se quando eles são executados sistema autônomo aplicativos autônomos. |
Se você deseja registrar seu aplicativo durante a instalação, use o programa de RegEdit.exe.(No Windows 95, Windows 98 e Windows ME, RegEdit está no diretório do Windows.No Windows NT e Windows 2000, RegEdit está no diretório Windows System32.) Se você incluir um programa de instalação com o seu aplicativo, ter o programa de instalação executar "RegEdit /Sappname.reg".(O sinalizar /S indica a operação silenciosa, ou seja, ele não exibe a caixa de diálogo Relatório de conclusão bem-sucedida do comando) Caso contrário, instrua o usuário executar o RegEdit manualmente.
Observação: |
---|
O arquivo .reg criado pelo Assistente de aplicativo não inclui o caminho completo para o executável.Seu programa de instalação seja necessário modificar o arquivo .reg para incluir o caminho completo para o arquivo executável ou modificar a variável de ambiente PATH para incluir o diretório de instalação. |
RegEdit mescla o Sumário do arquivo de texto .reg no banco de dados de inscrição.Para verificar o banco de dados ou repará-lo, use o editor do registro.Tome cuidado para evitar a exclusão de entradas OLE essenciais.(No Windows 95, Windows 98 e Windows ME, o editor do registro é RegEdit.exe.No Windows NT e Windows 2000, é RegEdit32.exe.)
Inicialização do servidor
Quando você cria um aplicativo de servidor com o Assistente de aplicativo, o assistente concluir todas as tarefas de inicialização para você automaticamente.Esta seção descreve o que você deve fazer se você escrever um aplicativo de servidor manualmente.
Quando um aplicativo de servidor é aberto por um aplicativo contêiner, o sistema OLE DLLs adicione a opção "/ incorporação" à linha de comando do servidor.Comportamento do aplicativo de um servidor difere dependendo se foi iniciado por um contêiner, portanto, a primeira coisa que um aplicativo deve fazer quando ela começa a execução é procurar o "/ incorporação" ou a opção "-incorporação" na linha de comando.Se este parâmetro existir, carregar um conjunto diferente de recursos que mostram o servidor sistema autônomo sendo um ativo no local ou abra totalmente.Para obter mais informações, consulte Menus e recursos: Adições de servidor.
O aplicativo de servidor também deve chamar seu CWinApp::RunEmbedded função para analisar a linha de comando. Se ela retorna um valor diferente de zero, o aplicativo não deve mostrar a janela porque ele foi executado um aplicativo contêiner, e não sistema autônomo um aplicativo independente.Essa função atualiza a entrada do servidor no banco de dados de inscrição do sistema e chama o RegisterAll função de membro para você executar o inscrição de instância.
Ao iniciar o seu aplicativo de servidor, certifique-se de que ele pode efetuar inscrição de instância.inscrição de instância informa ao sistema OLE DLLs que o servidor está ativo e pronto para receber solicitações de recipientes.Ele não adiciona uma entrada no banco de dados de inscrição.Realizar o inscrição de instância do servidor, chamando o ConnectTemplate função de membro definida pelo COleTemplateServer. Isso conecta o CDocTemplate objeto para o COleTemplateServer objeto.
The ConnectTemplate função utiliza três parâmetros: CLSID, um ponteiro para o CDocTemplate objeto e um sinalizar que indica se o servidor oferece suporte a várias instâncias. Um miniserver deve ser capaz de oferecer suporte a várias instâncias, ou seja, ele deve estar possível que várias instâncias do servidor para executar simultaneamente, uma para cada contêiner.Conseqüentemente, passar TRUE para esse sinalizar ao iniciar um miniserver.
Se você estiver escrevendo um miniserver, por definição, ele será sempre iniciado por um contêiner.Você ainda deve analisar a linha de comando para verificar se a opção "/ incorporação".A ausência dessa opção na linha de comando significa que o usuário tentou inicialização miniserver sistema autônomo um aplicativo independente.Se isso ocorrer, registrar o servidor com o banco de dados de inscrição do sistema e exibir uma caixa de mensagem informando o usuário inicie miniserver de um aplicativo de contêiner.