¡Hola!
Conozco algo sobre el tema de memoria compartida, pero lo he manejado más que nada con Delphi.
Quizá se te facilite hacerlo mediante
objetos superglobales. Es el mismo concepto pero llevado a su máxima expresión.
http://www.clubdelphi.com/foros/showthread.php?t=53146
De cualquier manera, creo que el código de mi clase podría servirte de orientación. Utilizo las mismas funciones de la API de Windows.
Saludos.
Al González.