Contêineres: Compostos de arquivos

Este artigo explica os componentes e a implementação de compostos de arquivos e as vantagens e desvantagens de usar arquivos compostos em seus aplicativos de OLE.

Arquivos compostos são parte integrante do OLE.Eles são usados para facilitar a transferência de dados e armazenamento de documento OLE.Arquivos compostos são uma implementação do modelo de armazenamento estruturado ativo.Interfaces consistentes existem esse suporte a serialização de armazenamento, um fluxo ou um objeto de arquivo.Arquivos compostos têm suporte na biblioteca Microsoft Foundation classe a classes COleStreamFile e COleDocument.

Observação:

Usando um arquivo composto não implica que as informações vem de um documento OLE ou um documento composto.Arquivos compostos são apenas uma das maneiras de armazenar documentos compostos, documentos OLE e outros dados.

Componentes de um arquivo composto

A implementação de OLE de arquivos compostos usa três tipos de objeto: objetos de fluxo, objetos de armazenamento e ILockBytes objetos. Esses objetos são semelhante aos componentes de um padrão arquivo sistema das seguintes maneiras:

  • Objetos de fluxo, como arquivos, armazenam dados de qualquer tipo.

  • Objetos de armazenamento, como pastas, podem conter outros objetos de armazenamento e de fluxo.

  • LockBytes objetos representam a interface entre os objetos de armazenamento e o hardware físico.Elas determinam sistema autônomo sistema autônomo bytes real são gravados para qualquer dispositivo de armazenamento a LockBytes objeto está acessando, sistema autônomo uma unidade de disco rígido ou uma área da memória global.Para obter mais informações sobre o LockBytes objetos e o ILockBytes interface, consulte o Referência do programador de OLE.

Vantagens e desvantagens de arquivos compostos

Arquivos compostos fornecem benefícios não está disponível com os métodos anteriores de armazenamento de arquivos.Eles incluem:

  • Acessando o arquivo incremental.

  • Modos de acesso de arquivo.

  • Padronização da estrutura de arquivo.

As desvantagens potenciais de arquivos compostos — grandes problemas de dimensionar e desempenho relacionados ao armazenamento em disquetes — deve ser considerado quando decidir se deseja usá-los em seu aplicativo.

Incremental acesso a arquivos

Incremental o acesso a arquivos é um automático benefício do uso de arquivos compostos.sistema autônomo um arquivo composto pode ser exibido sistema autônomo um "sistema de arquivos dentro de um arquivo", tipos de objetos individuais, sistema autônomo, por exemplo, fluxo ou armazenamento, podem ser acessados sem a necessidade de carregar o arquivo inteiro.Isso drasticamente pode diminuir o time que um aplicativo precisa acessar novos objetos para edição pelo usuário.Atualização incremental, com base no mesmo conceito, oferece benefícios similares.Em vez de salvar o arquivo inteiro apenas para salvar as alterações feitas a um objeto, OLE salva somente o fluxo ou armazenamento objeto editado pelo usuário.

Modos de acesso de arquivo

A capacidade de determinar quando as alterações feitas nos objetos em um arquivo composto são enviadas ao disco, é outro benefício de usar arquivos compostos.O modo em que arquivos são acessados, transacionado ou direto, determina quando as alterações são confirmadas.

  • Modo transacionado usa uma operação de protocolo 2PC para fazer alterações a objetos em um arquivo composto, deixar tenha tanto o antigo e novas cópias do documento disponível até que o usuário optar por salvar ou desfazer as alterações.

  • O modo direto incorpora sistema autônomo alterações no documento sistema autônomo são feitas, sem a capacidade de desfazê-las mais tarde.

Para obter mais informações sobre modos de acesso, consulte o Referência do programador de OLE.

Padronização

A estrutura padronizada de arquivos compostos permite que diferentes aplicativos OLE procurar arquivos compostos criados pelo seu aplicativo OLE sem conhecimento do aplicativo que criou o arquivo.

dimensionar e considerações de desempenho

Por causa da complexidade da estrutura de armazenamento de arquivo composto e a capacidade de salvar dados de forma incremental, usando este formato de arquivos tendem a ser maior do que outros arquivos de armazenamento "simples de arquivo" ou uso não-estruturados.Se seu aplicativo freqüentemente carrega e salva arquivos, usando arquivos compostos pode causar muito mais rapidamente do que arquivos noncompound aumentar o dimensionar do arquivo.Porque arquivos compostos podem ficar grandes, o time de acesso para arquivos armazenados em e carregado a partir de disquetes também podem ser afetado, resultando em um acesso mais lento de arquivos.

Outro problema que afeta o desempenho é a fragmentação de arquivo composto.O dimensionar de um arquivo composto é determinado pela diferença entre os setores de disco primeiro e último usado pelo arquivo.Um arquivo fragmentado pode conter várias áreas de espaço disponível que não contêm dados, mas são contadas ao calcular o dimensionar.Durante o ciclo de vida de um arquivo composto, essas áreas são criadas pela inserção ou exclusão de objetos de armazenamento.

Usando o formato de arquivos compostos para seus dados

Depois de criar com êxito um aplicativo que tenha uma classe de documento derivada de COleDocument, certifique-se de que chama seu construtor de documento principal EnableCompoundFile. Quando o Assistente de aplicativo cria os aplicativos recipientes OLE, essa telefonar é inserida para você.

No Referência do programador de OLE, see IStream, IStorage, and ILockBytes.

Consulte também

Conceitos

Recipientes

Contêineres: Problemas de interface de usuário

Referência

Classe COleStreamFile

Classe COleDocument