CMemFile::Attach

Chiamare la funzione per collegare un blocco di memoria a CMemFile.

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

Parametri

  • lpBuffer
    Puntatore al buffer da associare a CMemFile.

  • nBufferSize
    Un intero che specifica la dimensione del buffer in byte.

  • nGrowBytes
    L'incremento di allocazione della memoria in byte.

Note

In questo modo CMemFile a utilizzare il blocco di memoria come file di memoria.

Se nGrowBytes è 0, CMemFile imposterà la lunghezza del file a nBufferSize.Ciò significa che i dati nel blocco di memoria prima che siano stati associati a CMemFile verranno utilizzati come file.I file di memoria creati in questo modo non possono aumentare.

Poiché il file non può crearsi, prestare attenzione a non causa CMemFile a tentare di del file.Ad esempio, non chiamare un override CMemFilefile C: Scrivere per scrivere in oltre la fine o non chiamare file C: SetLength con una lunghezza più lungo nBufferSize.

Se nGrowBytes è maggiore di 0, CMemFile ignorerà il contenuto del blocco di memoria a cui è associato.Sarà necessario scrivere il contenuto del file di memoria da zero per l'utilizzo di override CMemFileCFile::Write.Se si tenta di scrivere in oltre la fine del file o di del file chiamando un override CMemFileCFile::SetLength, CMemFile coltiverà l'allocazione della memoria con incrementi nGrowBytes.La colturaallocazione di memoria non riuscirà se il blocco di memoria passato a Connetti non è stato allocato con un metodo compatibile con Alloc.Per essere compatibile con l'implementazione predefinita Alloc, è necessario allocare memoria con la funzione malloc o callocla libreria di runtime.

Requisiti

Header: afx.h

Vedere anche

Riferimenti

Classe di CMemFile

Grafico della gerarchia

CMemFile::CMemFile

CMemFile::Detach

CMemFile::Alloc

CFile::Write

CFile::SetLength