Memory Mapped Files
This article is intended to extend the idea of Inter Process Communication with a Memory Mapped File object by using a class that handles that memory object (or any memory) as a memory pool, a "heap". This class, CAllocationHandler, creates a layout of that memory consisting of a header, an allocation table, and a memory area where the allocated memory blocks resides. Those memory blocks may be moved by the class during the allocation/deallocation calls, so the memory blocks are mainly handled using "memory handles".
To directly access a memory block, it must be locked through this handle. The memory handle can also be transferred between processes that uses the same Memory Mapped File object and used to access the data.
The archive AllocationHandler_src contains the class files
- AllocationHandler.h
- AllocationHandler.cpp
- AllocationHandler.inl
- AllocationHandler.txt
Downloads
Download demo project - 7 KbDownload source - 15 Kb

Comments
Deadlocks!
Posted by Legacy on 02/16/2004 12:00amOriginally posted by: Raymond Lee
The code seems to deadlock all the time on my machine (Win2K Pro). I haven't tried to debug it. Looks like a good piece of code otherwise!
Reply