CMemFile

CMemFile это CFile-производный класс, поддерживающий файлы памяти. Эти файлы памяти ведут себя как дисковых файлов, за исключением того, что файл хранится в ОЗУ, а не на диске. Файл памяти используется для быстрого временного хранения или передачи байт или сериализации объектов между независимыми процессами.

CMemFile объекты могут автоматически распределять свои собственные памяти или ваш собственный блок памяти можно прикрепить к CMemFile объекта путем вызова Attach. В любом случае, выделяется память для выращивания в памяти файл автоматически в nGrowBytes-размера надбавки, если nGrowBytes не равно нулю.

Блок памяти будет автоматически удалено после уничтожения объекта CMemFile , если память была первоначально выделенных CMemFile объектом; в противном случае вы несете ответственность за освобождение памяти, которое прилагается к объекту.

Вы можете открыть блок памяти через указателя при отсоединении от CMemFile объекта путем вызова отсоединения.

CMemFile чаще всего используется для создания объекта CMemFile и использовать его посредством вызова функций-членов CFile . К сведению, что автоматическое создание CMemFile открывает его: не нужно вызывать CFile::Open, который используется только для дисковых файлов. Потому что CMemFile не использует дисковый файл, члена данных CFile::m_hFile не используется и не имеет значения.

Функции-члены CFile дублировать, LockRangeи UnlockRange не реализована для CMemFile. При вызове этих функций на объекте CMemFile , вы получите CNotSupportedException.

Использует функции библиотеки времени выполнения, CMemFile malloc, reallocи бесплатно выделять, перераспределять и освобождать память; и встроенных memcpy блока копирования памяти при чтении и записи. Если вы хотите изменить это поведение или поведение тогда, когда CMemFile файла, свой собственный класс, производный от CMemFile и переопределить соответствующие функции.

Более подробную информацию о CMemFile, найти в статьях файлов в MFC и Темы управления памяти (MFC) в Visual C++ программист Guide и увидеть Обработка файлов в Справочник по библиотеке времени выполнения.

# include lt;afx.h>

Члены классаБазовый класс | Иерархическая схема

Index