
CSharedFile это CMemFile-производный класс, поддерживающий общих файлов памяти. Памяти файлы ведут себя как дисковых файлов, за исключением того, что файл хранится в ОЗУ, а не на диске. Файл памяти используется для быстрого временного хранения или передачи байт или сериализации объектов между независимыми процессами.
Общей памяти файлы отличаются от других файлов памяти выделяется память для них с функции GlobalAlloc Windows. CSharedFile класс хранит данные в блоке глобально выделенной памяти (созданное с помощью GlobalAlloc), и этот блок памяти может совместно использоваться с помощью DDE, в буфер обмена или другие OLE/COM единообразных данных операций передачи, например, с помощью IDataObject.
GlobalAlloc возвращает HGLOBAL обрабатывать а не указатель на область памяти, такие как указатель, возвращенный malloc. HGLOBAL ручка необходима в некоторых приложениях. Например чтобы поместить данные в буфер обмена необходимо дескриптора HGLOBAL.
Обратите внимание, что CSharedFile не использовать файлы, отображенные в памяти, и данные не могут непосредственно совместно несколькими процессами.
CSharedFile объекты могут автоматически распределять свои собственные памяти или ваш собственный блок памяти можно прикрепить к CSharedFile объекта путем вызова CSharedFile::SetHandle. В любом случае, выделяется память для выращивания в памяти файл автоматически в nGrowBytes-размера надбавки, если nGrowBytes не равно нулю.
Для получения дополнительных сведений см. статью файлов в MFC в Visual C++ программист руководство и Обработка файлов в Справочник по библиотеке времени выполнения.
# include lt;afxadv.h>
Члены класса | Базовый класс | Иерархическая схема
См. также CMemFile, GlobalAlloc, GlobalFree, GlobalRealloc