CMemFile::Attach

void Attach (BYTE * lpBuffer, UINT nBufferSize, UINT nGrowBytes = 0);

Parâmetros

lpBuffer

Ponteiro para o buffer ser anexada à CMemFile.

nBufferSize

Um integer que especifica o tamanho do buffer em bytes.

nGrowBytes

O incremento de alocação de memória em bytes.

Observações

Chame essa função para anexar um Bloquear de memória a CMemFile. Isso faz com que CMemFile usar o Bloquear de memória que o arquivo de memória.

Se nGrowBytes for 0, CMemFile definirá o comprimento do arquivo como nBufferSize. Isso significa que os dados no bloco de memória antes de que foi anexado ao CMemFile serão usados como o arquivo. Arquivos de memória criados dessa maneira não podem ser cultivados.

Uma vez que o arquivo não pode ser cultivado, tenha cuidado para não causar CMemFile tentar aumentar o arquivo. Por exemplo, não chamar o substitui CMemFile de CFile:Write para gravar ultrapassou o fim ou não chamar CFile:SetLength com um comprimento maior que nBufferSize.

Se nGrowBytes for maior que 0, CMemFile irá ignorar o conteúdo do Bloquear de memória que você tenha anexado. Você terá que escrever o conteúdo do arquivo de memória do zero usando o CMemFile substituir de CFile::Write. Se você tentar gravar ultrapassou o fim do arquivo ou aumentar o arquivo, chamando o CMemFile substituir de CFile::SetLength, CMemFile aumentará a alocação de memória em incrementos de nGrowBytes. Crescendo a alocação de memória falhará se o Bloquear de memória que você passar para anexar não foi alocado com um método compatível com Alloc. Para ser compatível com a implementação de padrão de Alloc, você deve alocar a memória com a função de biblioteca de tempo de execução malloc ou calloc.

Visão geral de CMemFileMembros de classe | Gráfico de hierarquia

Co&nsulte tambémnbsp;CMemFile::CMemFile, CMemFile::Detach, CMemFile::Alloc, CFile::Write, CFile::SetLength

Index