Navigation:  SPS > Externe (Soft) SPS >

  Schnittstelle von TrySim, C-Code

Vorherige SeiteKapitelübersichtNächste Seite

 

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:

Schnittstelle