Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __CS_CSUTIL_WIN32_MMAP_H__
00021 #define __CS_CSUTIL_WIN32_MMAP_H__
00022
00023 #include "csextern.h"
00024
00035 class CS_CRYSTALSPACE_EXPORT csPlatformMemoryMappingWin32
00036 {
00037 public:
00038 struct PlatformMemoryMapping
00039 {
00040 void* realPtr;
00041 };
00042 protected:
00044 HANDLE hMappedFile;
00046 HANDLE hFileMapping;
00047
00048 size_t granularity;
00049
00051 csPlatformMemoryMappingWin32 ();
00053 ~csPlatformMemoryMappingWin32 ();
00054
00055 bool OpenNative (const char* filename);
00056 bool Ok();
00057 size_t GetMaxSize ();
00058
00066 void MapWindow (PlatformMemoryMapping& mapping, size_t offset, size_t len);
00068 void UnmapWindow (PlatformMemoryMapping& mapping);
00069 };
00070
00071
00072 #endif // __CS_CSUTIL_WIN32_MMAP_H__