Compartilhar via


CMemFile::anexar

telefonar Esta função para anexar um bloco de memória a CMemFile.

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

Parâmetros

  • lpBuffer
    Ponteiro para o buffer seja anexada à CMemFile.

  • nBufferSize
    Um número inteiro que especifica o dimensionar do buffer em bytes.

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

Comentários

Isso faz com que CMemFile Para usar o bloco de memória que o arquivo de memória.

If nGrowBytes é 0, CMemFile definirá o tamanho do arquivo como nBufferSize. Isso significa que sistema autônomo dados na memória bloqueada antes de que foi anexado a CMemFile será usado sistema autônomo o arquivo. Arquivos de memória criados dessa maneira não podem ser personalizados.

Desde que o arquivo não pode ser personalizado, tenha cuidado para não causar CMemFile para tentar aumentar o arquivo. Por exemplo, não chamar o CMemFile substituições de CFile:Write para gravar após o participante ou não chamar CFile:SetLength com comprimento maior que nBufferSize.

If nGrowBytes é maior que 0, CMemFile irá ignorar o Sumário do bloco de memória que você tenha anexado. Você precisará gravar o Sumário do arquivo de memória a partir do zero usando o CMemFile substituir do CFile::Write. Se você tentar gravar após o participante do arquivo ou aumentar o arquivo chamando o CMemFile substituir do CFile::SetLength, CMemFile a alocação de memória em incrementos de crescimento nGrowBytes. Aumentando a alocação de memória falhará se o bloco de memória que você passar para Anexar não foi alocado um método compatível com Alocação.Para ser compatível com a implementação padrão de Alloc, você deve alocar a memória com a função de biblioteca de time de execução malloc or calloc.

Requisitos

Cabeçalho: afx.h

Consulte também

Referência

Classe CMemFile

Gráfico de hierarquia

CMemFile::CMemFile

CMemFile::desanexar

CMemFile::Alloc

CFile::gravar

CFile::SetLength

Outros recursos

CMemFile membros