dcsimg

Memory Mapped Files

WEBINAR:
On-Demand

Application Security Testing: An Integral Part of DevOps


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
and the article (a plain text file)
  • AllocationHandler.txt
The archive AllocationHandler_demo contains a simple Console application that demonstrates the use of CAllocationHandler by simulating two producer threads of data allocated on the "heap", then saving the memory handles in a CList that is periodically checked by a consumer thread.

Downloads

Download demo project - 7 Kb
Download source - 15 Kb


Comments

  • Deadlocks!

    Posted by Legacy on 02/16/2004 12:00am

    Originally 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
  • You must have javascript enabled in order to post comments.

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Global data deduplication provides important benefits over traditional deduplication processes because it removes redundant data through entire enterprises, not just single devices. Global deduplication increases the data deduplication ratio — the size of the original data measured against the size of the data store after redundancies are removed. This helps reduce the amount of storage required at a time when businesses face exponential storage growth. This eBook explores the chief benefits of global …

  • IT planners have far more options as to where to run their workloads than ever before. On-premises data centers, co-location facilities and managed services providers are now joined by hybrid multi-clouds – a combination of Software-, Infrastructure- and Platform-as-a-Service (SaaS, IaaS, and PaaS) execution venues. All have unique operational, performance and economic characteristics that need to be considered when deploying workloads. Submit the form to watch this webinar replay featuring 451 …

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date
×
We have made updates to our Privacy Policy to reflect the implementation of the General Data Protection Regulation.