CMemFile::Attach

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

Parametri

lpBuffer

Puntatore al buffer per essere allegato al CMemFile.

nBufferSize

Un numero intero che specifica la dimensione del buffer in byte.

nGrowBytes

L'incremento di allocazione di memoria in byte.

Osservazioni

Chiamare questa funzione per collegare un blocco di memoria a CMemFile. Questo fa sì che CMemFile utilizzare il blocco di memoria come file di memoria.

Se nGrowBytes è 0, CMemFile imposterà la lunghezza del file su nBufferSize. Ciò significa che i dati nel blocco di memoria prima che essa è stata allegata al CMemFile saranno utilizzati come file. I file di memoria creati in questo modo non possono essere coltivati.

Poiché il file non può essere coltivato, essere attenti a non provocare CMemFile tentare di far crescere il file. Ad esempio, non chiamare le sostituzioni CMemFile di CFile:Write di scrivere oltre la fine o non chiamano CFile:SetLength con una lunghezza supera a nBufferSize.

Se nGrowBytes è maggiore di 0, CMemFile ignorerà il contenuto del blocco di memoria che hai attaccato. Avete scrivere il contenuto del file di memoria da zero, utilizzando il CMemFile , eseguire l'override di CFile::Write. Se si tenta di scrivere oltre la fine del file o crescere il file chiamando il CMemFile eseguire l'override di CFile::SetLength, CMemFile crescerà l'allocazione di memoria in incrementi di nGrowBytes. Cresce l'allocazione di memoria avrà esito negativo se il blocco di memoria che si passa al Attach non è stato allocato con un metodo compatibile con Alloc. Per essere compatibile con l'implementazione predefinita di Alloc, è necessario allocare la memoria con la funzione di libreria di runtime malloc o calloc.

Pa&noramica CMemFile |nbsp; Membri della classe | Gerarchia Chart

Vedere a&nchenbsp;CMemFile::CMemFile, CMemFile::Detach, CMemFile::Alloc, CFile::Write, CFile::SetLength

Index