Home » Tutorials » Systemnahe Programmierung » Prozesskommunikation mittels Memory Mapped Files
Prozesskommunikation mittels Memory Mapped Files
MMF erstellen/öffnen
Für das Erstellen und Öffnen einer MapFile sind lediglich 2 Funktionen erforderlich.
Die Windows API stellt die Funktionen hierzu zur Verfügung:
type TData = Packed Record Data1: Integer; Data2: String[20]; end; PTData = ^TData; ... var MapHandle: Handle; PData: PTData; ... MapHandle := CreateFileMapping($FFFFFFFF, nil, PAGE_READWRITE, 0, Sizeof(TData), 'MyMapFile'); if MapHandle > 0 then PData := MapViewOfFile(MapHandle, FILE_MAP_ALL_ACCESS, 0, 0, 0);
Mit der Funktion CreateFileMapping wird die MapFile erstellt oder falls schon vorhanden geöffnet. Die Parameter sollten selbsterklärend sein. Die Größe der MapFile muss beim Erstellen bereits bekannt sein. Die Funktion MapViewOfFile liefert den direkten Zugriff auf den Speicherbereich mittels eines Pointers auf diesen.