Condividi tramite


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 CMemFile

Grafico delle gerarchie

CMemFile::CMemFile

CMemFile::Detach

CMemFile::Alloc

CFile::Write

CFile::SetLength