Ich komm damit leider nur nicht ganz klar. Wie setzte ich den
von der Funktion geforderten HANDLE auf meine Datenstruktur,
um sie vom anderen Programm aus zugänglich zu machen. (Meine
Struktur ist eine verkettete Liste.
Dafür ist der folgende Aufruf zuständig
shmObj = lpMapAddress = MapViewOfFileEx(
hMapFile, // file-mapping object to map into address space
fdwAccess, // access mode
dwOffsetHigh, // high-order 32 bits of file offset
dwOffsetLow, // low-order 32 bits of file offset
cbMap, // number of bytes to map
basemem // Anfangsadresse des gewuenschten Speichers
);
Prinzip:
Prozess A legt shared Mem an und „mapped“ einen Speicherbereich mit einer Basisadresse
Process B öffnet das Handle (named) dieses Bereichs und erzeugt sich ebenfalls ein „Mapping“.
Jetzt kann Du den Speicher benutzen um z.B. via Placement-new Deine Objekte darin anzulegen bzw. Pointer auf darin enthaltene Strukturen zu setzen.
In jedem Fall solltest Du Dir die Doku zu den vorhin genannten Methoden anschauen. Beispiele gibt es da übrigens auch.
Klaus