Compartilhar via


Exemplo de conectar: Demonstra o uso de pontos de conexão (exemplos C++) e implementação

Este exemplo ilustra o uso e a implementação de pontos de conexão (o IConnectionPointContainer and IConnectionPoint interfaces) em um ambiente multithreaded.

Observação:

Esse exemplo é uma modificação do exemplo ATL Conectar-seColetores de para demonstrar o compilador COM suporte para o ponto de conexão.O cliente de unidade é uma implementação nativa, enquanto cliente MDrive ligeiramente belabors COM precisão no uso de uma fábrica de classes para criar objetos de coletor.Nem unidade MDrive dependem ATL ou MFC para qualquer COM suporte.

Observação de segurança:

Este código de exemplo é fornecido para ilustrar um conceito e não deve ser usado em aplicativos ou sites da Web, pois ele não pode ilustrar sistema autônomo práticas de codificação mais seguras.Microsoft sistema autônomo sumes nenhuma responsabilidade por danos incidentais ou conseqüenciais deve o código de exemplo ser usado para fins diferentes de sistema autônomo se destina.

Para obter exemplos e instruções para instalá-los:

  • Sobre o Visual Studio Ajuda menu, clicar Exemplos.

    Para obter mais informações, consulte Localizando arquivos de exemplo.

  • A versão mais recente e a lista completa das Exemplos está disponível online a partir de O Visual Studio 2008 Exemplos página.

  • Você também pode localizar exemplos no disco rígido do seu computador.Por padrão, exemplos e um arquivo Leiame são copiados para uma pasta sob \programa Files\Visual Studio 9.0\Samples\.Para edições Express do Visual Studio, todos os exemplos estão localizados online.

Criando e executando o exemplo

Para compilação e executar esse exemplo

  1. Abra a solução conectar.sln.

  2. On the Compilação menu, clicar Criar solução.

  3. selecionar qual cliente você deseja executar, unidade ou MDrive, e torná-lo o projeto de inicialização (clicar com o botão direito do mouse o projeto pasta e clique em conjunto sistema autônomo projeto de inicialização).Obter mais informações sobre os clientes podem ser encontradas na seção como funciona o exemplo.

  4. No menu Debug, clique em Start Without Debugging.

Como funciona o exemplo

O servidor é implementado no conectar.dll.Essa DLL permite a criação de um CoRandom Objeto COM, implementada pela CRandom Classe do C++. O objeto COM suporta IRandom (uma interface dupla) e IConnectionPointContainere ele aceita conexões a IRandomEvent interface.

The IRandom interface oferece suporte aos seguintes métodos.

  • Start   Inicia um thread dentro do objeto.

  • Stop   Pára um thread dentro do objeto.

  • StopAll   Interrompe todos os threads em execução.

Quando em execução, os threads secundários dentro do objeto manter disparando eventos por meio do ponto de conexão.

São fornecidos dois clientes: A unidade e MDrive.Eles podem ser encontrados nos subdiretórios MDrive e a unidade.

  • unidade.exe é um aplicativo de console simples que fornece um único objeto implementando a IRandomEvent interface. Ele cria um CoRandom objeto, chamadas Advise e Unadvise no ponto de conexão e tem o CoRandom objeto acionam eventos em objeto da unidade.

  • Mdrive.exe é um MFC com caixa de diálogo aplicativo, capaz de criar vários aconselhar receptores e controlar o número de segmentos que o servidor cria.Quando você executa Mdrive.exe, clicar no Iniciar barra pelo menos uma vez e, em seguida, clicar no Advise botão várias vezes. Cada clicar do Advise botão adiciona um ponto de conexão, o que torna a exibição mais larga. Se você não clicar na Advise botão, você não veja qualquer atividade na exibição.

Consulte também

Referência

Suporte ao compilador COM

Outros recursos

Exemplos do compilador COM suporte