Sloenig Geschrieben 2. April 2007 Geschrieben 2. April 2007 Hi Hab da ein Problem mit Shared Memory. Bin an einem bzw. mehreren Programm(en) zugange, welche miteinander über Shared Memory komunizieren sollen. Dies funktioniert auch. Allerdings will ich jetzt noch ein weiteren Shared Memory Bereich erstellen was aber nicht funktioniert. Beide Programme bekommen anscheindend nicht den gleichen Speicherbereich zugewiesen. Hier mal ein bisschen Quelltext: Hier der Server, welcher zuerst läuft und den Shared Memory Bereich erstellt: m_hMemory = CreateFileMapping((HANDLE)0xFFFFFFFF,NULL,PAGE_READWRITE,0,sizeof(s_Threshold),"SharedMemory"); m_ptrThreshold = (s_Threshold*)MapViewOfFile(m_hMemory,FILE_MAP_WRITE,0,0,sizeof(s_Threshold)); Und hier der Client, welcher sich zu dem Shared Memory Bereich "verbindet": m_hThreshold = OpenFileMapping(FILE_MAP_WRITE,FALSE,"SharedMemory"); m_ptrThreshold = (s_Threshold*)MapViewOfFile(m_hThreshold,FILE_MAP_WRITE,0,0,sizeof(s_Threshold)); Mein OS ist WinXP Pro und die IDE MSVS 6.0 Ist jemandem von euch bekannt, ob es unter Windows XP eine Begrenzung gibt, wieviele Shared Memory Bereiche es geben darf? Zur Info: In den anderen Programmen bzw. Programmteilen in denen ich das auch schon verwendet habe und das funktioniert, hab ich das genau so realisiert. Der Compiler zeigt auch keine Fehler oder Warnungen beim compilieren an. Schonmal danke im voraus
Klotzkopp Geschrieben 2. April 2007 Geschrieben 2. April 2007 Der Compiler zeigt auch keine Fehler oder Warnungen beim compilieren an.Und was passiert zur Laufzeit? Sprich: was liefert CreateFileMapping / OpenFileMapping zurück?
Sloenig Geschrieben 2. April 2007 Autor Geschrieben 2. April 2007 beides liefert einen Handle auf einen Speicherbereich zurück. Deswegen danach auch das MapViewOfFile(). Hab jetzt noch mal ein bisschen rumprobiert...geht jetzt auf einmal doch...der hatte komischerweise vorher andere Speicherbereiche zugewiesen bekommen... trotzdem danke
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden