Udostępnij za pośrednictwem


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

Zobacz też

Informacje

Klasa CMemFile

Wykres hierarchii

CMemFile::CMemFile

CMemFile::Detach

CMemFile::Alloc

CFile::Write

CFile::SetLength