Compartilhar via


Recipientes: Arquivos compostos

Este artigo explica os componentes e a implementação de arquivos compostos 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 com suporte a serialização de armazenamento, um fluxo ou um objeto de arquivo.Arquivos compostos são suportados na biblioteca Microsoft Foundation Class pelas classes COleStreamFile e COleDocument.

ObservaçãoObservação

Usar 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 para 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 semelhantes aos componentes de um sistema de arquivo padrão das seguintes maneiras:

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

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

  • LockBytes objetos representam a interface entre os objetos de armazenamento e o hardware físico.Elas determinam como o número real de bytes são gravados para qualquer dispositivo de armazenamento do LockBytes acessando o objeto, como um disco rígido ou uma área da memória global.Para obter mais informações sobre LockBytes objetos e o ILockBytes interface, consulte o OLE Programmer referência.

Vantagens e desvantagens de arquivos compostos

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

  • Acessando arquivos incremental.

  • Modos de acesso do arquivo.

  • Padronização da estrutura de arquivo.

As possíveis desvantagens dos arquivos compostos — grandes problemas de tamanho e desempenho relacionados ao armazenamento em disquetes — deve ser considerado quando decidir usá-los em seu aplicativo.

ydd3k45e.collapse_all(pt-br,VS.110).gifAcesso aos arquivos incremental

Incremental acesso aos arquivos é um benefício automático usando arquivos compostos.Porque um arquivo composto pode ser visto como um "sistema de arquivos dentro de um arquivo", os tipos de objeto individuais, tais como fluxo ou armazenamento, podem ser acessados sem a necessidade de carregar o arquivo inteiro.Isso drasticamente pode diminuir o tempo que um aplicativo precisa acessar novos objetos para edição pelo usuário.Atualização incremental, baseado 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.

ydd3k45e.collapse_all(pt-br,VS.110).gifModos de acesso a arquivo

Sendo capaz de determinar quando as alterações para objetos em um arquivo composto são confirmadas em disco é outro benefício de usar arquivos compostos.O modo em que arquivos são acessados, transacional ou direto, determina quando as alterações são confirmadas.

  • Modo transacionado usa uma operação de confirmação de duas fases para fazer alterações em objetos em um arquivo composto, mantendo as antigas e novas cópias do documento disponível até que o usuário optar por salvar ou desfazer as alterações.

  • Modo direto incorpora as alterações no documento, como elas são feitas, sem a possibilidade de desfazê-las posteriormente.

Para obter mais informações sobre modos de acesso, consulte o OLE Programmer referência.

ydd3k45e.collapse_all(pt-br,VS.110).gifPadronização

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

ydd3k45e.collapse_all(pt-br,VS.110).gifConsiderações de desempenho e tamanho

Por causa da complexidade da estrutura de armazenamento de arquivo composto e a capacidade de salvar dados incrementalmente, arquivos usando este formato tendem a ser maiores do que outros arquivos usando não estruturados ou armazenamento de "arquivo do simples".Se seu aplicativo freqüentemente carrega e salva arquivos, usando arquivos compostos pode causar o tamanho do arquivo aumenta muito mais rapidamente do que os arquivos noncompound.Porque arquivos compostos podem ficar grandes, o tempo de acesso para arquivos armazenados no e carregado a partir de disquetes também podem ser afetado, resultando em acesso mais lento aos arquivos.

Outro problema que afeta o desempenho é a fragmentação de arquivo composto.O tamanho 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 livre que não contêm dados, mas são contadas ao calcular o tamanho.Durante a vida útil de um arquivo composto, essas áreas são criadas com a 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 tem uma classe de documento derivada de COleDocument, certifique-se de que o construtor de documento principal chama EnableCompoundFile.Quando o Assistente de aplicativo cria aplicativos de recipiente OLE, essa chamada é inserida para você.

No OLE Programmer referência, consulte IStream, IStorage, e ILockBytes.

Consulte também

Referência

Classe COleStreamFile

Classe COleDocument

Conceitos

Contêineres

Recipientes: Problemas de Interface de usuário