handle hfile; // handle auf das mapped file
hfile = OpenFileMapping(FILE_MAP_ALL_ACCESS,
FALSE, // handle soll nicht geerbt werden
"TRYSIM_SCHNITTSTELLE");
// Bei manchen Compilern ist es notwendig, den Schnittstellennamen als PChar - Variable zu übergeben.
// hier sollte überprüft werden, ob hfile <> NULL ist. Mit GetLastError lässt sich der Fehlercode ermitteln
*byte EAdrSpace; // pointer auf das EB 65535 !!!
*byte AAdrSpace; // pointer auf das AB 65535 !!!
*byte MAdrSpace; // pointer auf das MB 65535 !!!
AAdrSpace = MapViewOfFile(hfile, // Handle to mapping object.
FILE_MAP_ALL_ACCESS, // Read/write permission
0, // Offset HiDWord
1 * 64 * 1024, // Offset LoDWord
64 * 1024); // Length
// hier sollte überprüft werden, ob AAdrSpace <> NULL ist.
EAdrSpace = MapViewOfFile(hfile, // Handle to mapping object.
FILE_MAP_ALL_ACCESS, // Read/write permission
0, // Offset HiDWord
2 * 64 * 1024, // Offset LoDWord
64 * 1024); // Length
// hier sollte überprüft werden, ob EAdrSpace <> NULL ist.
MAdrSpace = MapViewOfFile(hfile, // Handle to mapping object.
FILE_MAP_ALL_ACCESS, // Read/write permission
0, // Offset HiDWord
3 * 64 * 1024, // Offset LoDWord
64 * 1024); // Length
// hier sollte überprüft werden, ob MAdrSpace <> NULL ist.
Die Reihenfolge der Bytes im Adressraum ist verkehrt herum !!!
// Beim Beenden des Programms sollten Sie das mapped object wieder freigeben:
CloseHandle(hfile);
Siehe auch: