Compartilhar via


Classe CMemFile

CFile- classe derivada que suporta arquivos de memória.

class CMemFile : public CFile

Membros

Construtores public

Nome

Descrição

CMemFile::CMemFile

Constrói um objeto do arquivo de memória.

Métodos públicos

Nome

Descrição

CMemFile::Attach

Anexa um bloco de memória CMemFile.

CMemFile::Detach

Dispara o bloco de memória de CMemFile e retorna um ponteiro ao bloco de memória desanexado.

Métodos protegidos

Nome

Descrição

CMemFile::Alloc

Substituição para alterar o comportamento de alocação de memória.

CMemFile::Free

Substituição para alterar o comportamento de desalocação de memória.

CMemFile::GrowFile

Substituição para alterar o comportamento ao crescer um arquivo.

CMemFile::Memcpy

Substituição para alterar o comportamento de impressão de memória quando ler e gravar arquivos.

CMemFile::Realloc

Substituição para alterar o comportamento de realocação de memória.

Comentários

Esses arquivos de memória se comportam como arquivos de disco exceto pelo fato de que o arquivo é armazenado na memória RAM em vez de no disco. Um arquivo de memória é útil para armazenamento temporário rápido ou para transferir bytes crua ou objetos serializados entre processos independentes.

Os objetos deCMemFile podem automaticamente atribuia sua própria memória ou você pode anexar seu próprio bloco de memória para o objeto de CMemFile chamando Anexar. Em ambos os casos, a memória aumentarem do arquivo é alocada memória automaticamente em nGrowBytes- incrementos dimensionados se nGrowBytes não é zero.

O bloco de memória será excluído automaticamente em cima da destruição do objeto de CMemFile se a memória alocada foi originalmente pelo objeto de CMemFile ; caso contrário, você é responsável desalocar a memória que você tiver anexado ao objeto.

Você pode acessar o bloco de memória através do ponteiro fornecido quando você dispara o do objeto de CMemFile chamando Desanexar.

O uso mais comum de CMemFile é criar um objeto de CMemFile e usá-lo chamando funções de membro de CFile . Observe que cria CMemFile abrir automaticamente: você não chama CFile::Open, que é usado somente para arquivos em disco. Porque CMemFile não usa um arquivo em disco, o membro CFile::m_hFile de dados não é usado e não tem significado.

As funções de membro Duplicate, LockRange, e UnlockRange de CFile não são implementadas para CMemFile. Se você chamar essas funções em CMemFile objeto, você CNotSupportedExceptionobterão.

CMemFile usa as funções de biblioteca malloc, realloc, e livre de tempo de execução para atribuir, realocar, a memória; e desalocar e o tipo intrínseco memcpy para bloquear a memória de impressão ao ler e gravar. Se você gostaria de alterar esse comportamento ou comportamento quando CMemFile cresce um arquivo, derive sua própria classe de CMemFile e substituir as funções apropriadas.

Para obter mais informações sobre CMemFile, consulte os artigos Arquivos no MFC e gerenciamento de memória (MFC) consulte e Manipular de Arquivona referência da biblioteca em tempo de execução.

Hierarquia de herança

CObject

CFile

CMemFile

Requisitos

Cabeçalho: afx.h

Consulte também

Referência

Classe CFile

Gráfico da hierarquia