Поделиться через


Класс CMemFile

CFile- производный класс, который поддерживает файлы памяти.

class CMemFile : public CFile

Члены

Открытые конструкторы

Имя

Описание

CMemFile::CMemFile

Создает объект файла памяти.

Открытые методы

Имя

Описание

CMemFile::Attach

Вложение блок памяти в CMemFile.

CMemFile::Detach

Наконец удаляет блок памяти из CMemFile и возвращает указатель на блок finally удаленному памяти.

Защищенные методы

Имя

Описание

CMemFile::Alloc

Переопределение, чтобы изменить поведение выделения памяти.

CMemFile::Free

Переопределение, чтобы изменить поведение освобождение памяти.

CMemFile::GrowFile

Переопределение, чтобы изменить поведение увеличение файла.

CMemFile::Memcpy

Переопределение, чтобы изменить поведение копирования памяти при чтении и записи файлов.

CMemFile::Realloc

Переопределение, чтобы изменить поведение перераспределения памяти.

Заметки

Эти файлы памяти ведут себя как файлы на диске, за исключением того, что файл сохраняется в оперативной памяти, а не на диске. Файл памяти полезен для временного хранения или для передачи необработанных байт или сериализованные объекты между независимыми процессами.

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

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

Можно получить доступ к блок памяти через предоставленный указатель, когда наконец удалить ее из объекта CMemFile путем вызова Наконец удалить.

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

Функции-члены дубликат, LockRange и UnlockRangeCFile не реализованы для CMemFile. Если вызвать эти функции в CMemFile объект, обращающихся CNotSupportedException.

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

Дополнительные сведения о CMemFile см. в разделе статьи файлы в MFC и управление памятью (MFC) и Обработка файла см. в документации по библиотеке времени выполнения.

Иерархия наследования

CObject

CFile

CMemFile

Требования

Header: afx.h

См. также

Ссылки

Класс CFile

Диаграмма иерархии