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