CMemFile::Attach
Wywołanie tej funkcji, aby dołączyć blok pamięci do CMemFile.
void Attach(
BYTE* lpBuffer,
UINT nBufferSize,
UINT nGrowBytes = 0
);
Parametry
lpBuffer
Wskaźnik do buforu do CMemFile.nBufferSize
Liczba całkowita, która określa rozmiar buforu w bajtach.nGrowBytes
Przyrost alokacji pamięci w bajtach.
Uwagi
Powoduje to CMemFile do użycia pliku pamięci blok pamięci.
Jeśli nGrowBytes jest 0, CMemFile określi długość pliku nBufferSize.Oznacza to, że dane w bloku pamięci przed został dołączony do CMemFile będzie używany jako plik.Pamięci pliki utworzone w ten sposób nie może być uprawiane.
Ponieważ plik nie może być uprawiana, należy zachować ostrożność, aby nie spowodować CMemFile , aby powiększyć plik.Na przykład wywołanie nie CMemFile przesłonięcia z CFile:Write do zapisu w przeszłości koniec lub nie wywołać CFile:SetLength o długości dłużej niż nBufferSize.
Jeśli nGrowBytes jest większa niż 0, CMemFile zignoruje zawartość bloku pamięci został dołączony.Musisz zapisać zawartość pliku pamięci szkicownika korzystania z CMemFile zastąpić z CFile::Write.Próba zapisu poza końcem pliku lub powiększyć plik wywołując CMemFile zastąpić z CFile::SetLength, CMemFile będzie rosnąć alokacji pamięci w przyrostach nGrowBytes.Uprawy alokacji pamięci zawiedzie, jeżeli bloku pamięci przekazać do Attach nie została przydzielona metodą zgodny z Alloc.Zgodne z implementacją domyślne Alloc, należy przydzielić pamięci za pomocą funkcji run-time library malloc lub calloc.
Wymagania
Nagłówek: afx.h