Visão geral do StoClien
Finalidade
O foco principal do exemplo StoClien é como o cliente usa o armazenamento estruturado e como ele instrui um componente do servidor a usar esse armazenamento. O exemplo de StoClien demonstra um modelo de programação de serviços de armazenamento estruturados.
Funcionalidade
A funcionalidade StoClien é semelhante aos exemplos de "rabisco" em algumas versões do Microsoft Visual C++. A diferença entre o exemplo de StoClien e o exemplo StoServe é uma arquitetura interna baseada na tecnologia COM. Uma distinção de arquitetura clara é mantida entre o cliente COM e o servidor COM.
O StoClien carrega e salva seus desenhos no armazenamento estruturado de arquivos compostos COM.
O exemplo de StoClien cria e usa o objeto COPaper COM conectável fornecido como o componente CLSID_DllPaper no servidor StoServe . O cliente StoClien cria um objeto COPaper e o controla por meio da interface IPaper que o objeto expõe. O StoClien obtém dados de desenho do usuário e os representa graficamente em uma janela que ele gerencia. O StoClien usa a interface COPaper IPaper para salvar os dados de desenho no COPaper e direcionar operações de armazenamento de arquivos nesses dados.
Um objeto COPaper COM encapsula apenas o armazenamento baseado em servidor dos dados de papel de desenho: nenhum comportamento de GUI (interface gráfica do usuário) é fornecido no lado do servidor. Todo o comportamento da GUI é isolado no cliente. Os recursos de gerenciamento de dados e armazenamento de objetos COPaper só estão disponíveis por meio de uma interface personalizada COM, IPaper.
O StoClien coopera com o COPaper para carregar e salvar os dados de desenho do COPaper. StoClien obtém uma interface IStorage para o objeto de armazenamento em um arquivo composto. Em suas operações de carregamento e salvamento, stoClien passa um ponteiro para a interface IStorage para COPaper no servidor. O COPaper usa o IStorage fornecido para criar fluxos no armazenamento. O COPaper pode usar a interface IStream padrão para ler e gravar os dados de desenho que gerencia.
O COPaper gerencia apenas os dados de desenho; ele não executa nenhuma ação de GUI. O StoClien fornece a GUI para o aplicativo de desenho. Ele encapsula isso em um objeto CGuiPaper C++ central.
O StoClien também implementa a interface IPaperSink personalizada em um objeto COM COPaperSink e conecta essa interface a um ponto de conexão apropriado no objeto COPaper do servidor. O COPaper usa a interface IPaperSink conectada para enviar notificações de volta ao StoClien. O repositório de GUI normal dos dados de desenho do COPaper é feito no StoClien usando a tecnologia de objeto conectável COPaper.
StoClien é um aplicativo que você pode executar diretamente da maneira normal ou da janela do prompt de comando. StoClien aceita um parâmetro de nome de arquivo opcional na linha de comando.
No exemplo a seguir, Drawing.pap é um arquivo composto que contém o armazenamento estruturado compatível com DllPaper de dados de desenho. Se nenhum parâmetro de nome de arquivo de linha de comando for especificado, StoClien usará o nome de arquivo padrão Stoclien.pap e tentará abri-lo no mesmo diretório que o Stoclien.exe em execução.
StoClien c:\drawings\drawing.pap
Informações de suporte
Para obter mais informações, descrições funcionais e um tutorial de código para StoClien, consulte a seção Code Tour em Stoclien.htm. Para obter mais informações sobre a operação de usuário externo do StoClien, consulte as seções Uso e Operação no Stoclien.htm. Para ler Stoclient.htm, execute Tutorial.exe no diretório do tutorial main e clique na lição StoClien na tabela de lições. Como alternativa, clique em Stoclien.htm depois de localizar o diretório do tutorial main no Windows Explorer. Para obter mais informações sobre como o StoServe funciona e expõe seus serviços ao StoClien, consulte Stoserve.htm no diretório do tutorial main. Lembre-se de que você deve criar o Stoserve.dll antes de criar o StoClien. O makefile para StoServe registra esse servidor no registro do sistema, portanto, você deve criar o StoServe antes de tentar executar o StoClien.
Para obter mais informações sobre como configurar um sistema para compilar e testar os exemplos de código nesta série de Tutoriais COM, consulte Como criar exemplos. O makefile fornecido (MAKEFILE) é compatível com o Microsoft NMAKE. Para criar um build de depuração, emita o comando NMAKE na janela do prompt de comando.
Para conveniência, um arquivo de projeto é fornecido para cada exemplo para uso no Microsoft Visual Studio. Para carregar o projeto para o exemplo de StoClien , execute o Visual Studio no prompt de comando no diretório de exemplo da seguinte maneira:
MSDEV STOCLIEN. DSP
Você também pode clicar duas vezes no arquivo Stoclient.dsp no Windows Explorer para carregar um projeto de exemplo no Visual Studio. No Visual Studio, você pode procurar as classes C++ da origem de exemplo e geralmente executar as outras operações edit-compile-debug. Lembre-se de que, como parte do SDK do Servidor, a compilação desses exemplos de dentro do Visual Studio requer a configuração adequada dos caminhos de diretório no Visual Studio. Para obter mais informações, consulte Como criar exemplos.
Comentários
O exemplo do cliente e outros exemplos relacionados devem ser compilados antes que você possa executar o cliente. Para obter mais informações sobre como criar os exemplos, consulte Como criar exemplos. Se você tiver criado os exemplos apropriados, Stoclien.exe será o executável do cliente a ser executado para este exemplo.
O aplicativo Stoclien.exe fornece a interface do usuário para este tutorial. Ele exerce as Stoserve.dll associadas, mas independentes, para demonstrar o uso do cliente e do servidor do armazenamento estruturado com COM em arquivos compostos.