CMemFile

CMemFile jest CFile-klasy, która obsługuje pliki pamięci. Te pliki pamięci zachowywać się jak pliki dysku, z tym wyjątkiem, że plik jest przechowywany w pamięci RAM, zamiast na dysku. Plik pamięci jest przydatny dla szybkiego czasowego składowania lub przenoszenie surowca bajtów lub serializowany obiektów pomiędzy niezależnym procesom.

CMemFile obiekty można automatycznie przydzielał ich własnej pamięci lub własny blok pamięci można dołączyć do obiektu CMemFile , wywołując Dołącz. W każdym z tych przypadków pamięci dla uprawy plik pamięci automatycznie są przydzielane w nGrowBytes-o rozmiarze przyrosty, jeśli nGrowBytes nie jest równa zero.

Blok pamięci automatycznie zostaną usunięte po zniszczenie obiektu CMemFile , jeśli pamięć została pierwotnie przydzielona przez obiekt CMemFile ; w przeciwnym razie użytkownik jest odpowiedzialny za cofanie przydziału pamięci, którą dołączysz do obiektu.

Blok pamięci można uzyskać dostęp do poprzez wskaźnik podany odłączyć od obiektu CMemFile , wywołując Odłącz.

Najczęściej CMemFile jest do tworzenia obiektu CMemFile i używać go przez wywołanie funkcji członek CFile . Uwaga, że tworzenie CMemFile automatycznie otwiera ona: CFile::Open, która jest używana tylko do plików dysku nie zostanie wywołana. Ponieważ CMemFile nie używa pliku na dysku, członek danych CFile::m_hFile nie jest używany i nie ma znaczenia.

Funkcje składowe CFile zduplikowane, LockRangei UnlockRange nie są implementowane dla CMemFile. Jeśli te funkcje wywołania obiektu CMemFile , otrzymasz CNotSupportedException.

CMemFile używa funkcji run-time library malloc, Odśmiecacz, i wolna przydzielić, alokacja i dezalokuj pamięć; i wewnętrzne memcpy do bloku kopii pamięci podczas czytania i pisania. Jeśli chcesz zmienić to zachowanie lub zachowanie podczas CMemFile rośnie pliku, czerpią swoją własną klasę z CMemFile i zastępują odpowiednie funkcje.

Aby uzyskać więcej informacji o CMemFile, zobacz artykuły plików w MFC i Pamięci zarządzania tematy (MFC) w Visual C++ Programmer's Guide i zobacz Obsługa plików w Run-Time Library Reference.

# include lt;afx.h>

Czło&nkowie klasy |nbsp; Klasa podstawowa | Wykres hierarchii

Index