Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Um CArchive objeto fornece um mecanismo de buffer de tipo seguro para gravar ou ler objetos serializáveis de ou para um CFile objeto. Normalmente, o objeto CFile representa um arquivo de disco; no entanto, ele também pode ser um arquivo de memória (objeto CSharedFile), talvez representando a Área de Transferência.
Um determinado CArchive objeto armazena (grava, serializa) dados ou carrega (lê, desserializa) dados, mas nunca ambos. A vida útil de um CArchive objeto é limitada a uma passagem por meio da gravação de objetos em um arquivo ou na leitura de objetos de um arquivo. Portanto, são necessários dois objetos CArchive criados sucessivamente para serializar dados em um arquivo e, em seguida, desserializá-los a partir do arquivo.
Quando um arquivo armazena objetos em um arquivo, ele associa o nome CRuntimeClass aos objetos. Em seguida, quando outra camada de arquivos carrega objetos de um arquivo para a memória, os objetos derivados de CObject são reconstruídos dinamicamente com base nos objetos CRuntimeClass. Um determinado objeto pode ser referenciado mais de uma vez à medida que é gravado no arquivo pelo arquivo de armazenamento. No entanto, o arquivo de carregamento reconstruirá o objeto apenas uma vez. Os detalhes sobre como um arquivo anexa CRuntimeClass informações a objetos e reconstrói objetos, levando em conta possíveis várias referências, são descritos na Nota Técnica 2.
À medida que os dados são serializados em um arquivo, o arquivo acumula os dados até que o buffer esteja cheio. Em seguida, o arquivo grava seu buffer no objeto CFile apontado pelo objeto CArchive. Da mesma forma, ao ler dados de um arquivo, ele lê dados do arquivo para seu buffer e, em seguida, do buffer para o objeto desserializado. Esse buffer reduz o número de vezes que um disco rígido é lido fisicamente, melhorando o desempenho do aplicativo.