Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
#ifndef _GAMA_NETWORKLIB_MEMORY_MAPPED_FILE_
|
||||
#define _GAMA_NETWORKLIB_MEMORY_MAPPED_FILE_
|
||||
|
||||
#include <winsock2.h>
|
||||
#include <windows.h>
|
||||
|
||||
|
||||
// forward decl
|
||||
class CMemoryMappedFile;
|
||||
|
||||
class CFileMappedView
|
||||
{
|
||||
public:
|
||||
|
||||
CFileMappedView(CMemoryMappedFile& mappedFile);
|
||||
~CFileMappedView();
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>´<EFBFBD>.
|
||||
void* GetPointer(DWORD dwLowPosition = 0,
|
||||
DWORD dwHighPosition = 0, DWORD dwMappingSize = 0);
|
||||
|
||||
void Flush(DWORD dwBytesToFlush = 0); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Flush<73>Ѵ<EFBFBD>. (IPC<50><43><EFBFBD><EFBFBD> <20>ʿ<EFBFBD>)
|
||||
void Close(); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ݴ´<DDB4>.
|
||||
|
||||
private:
|
||||
|
||||
CMemoryMappedFile& m_MappedFile;
|
||||
void* m_FilePointer;
|
||||
};
|
||||
|
||||
|
||||
class CMemoryMappedFile
|
||||
{
|
||||
public:
|
||||
|
||||
enum OpenMode
|
||||
{
|
||||
READ,
|
||||
READ_WRITE
|
||||
};
|
||||
|
||||
CMemoryMappedFile();
|
||||
~CMemoryMappedFile();
|
||||
|
||||
// <20>̹<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
||||
bool OpenFile(const char* szFileName, OpenMode eOpenMode);
|
||||
|
||||
// <20><DEB8> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰų<CFB0> <20><><EFBFBD><EFBFBD>.
|
||||
bool CreateSharedMemory(DWORD dwLowSize, DWORD dwHighSize = 0, const char* szFileName = 0);
|
||||
bool OpenSharedMemory(const char* szFileName, OpenMode eOpenMode);
|
||||
|
||||
bool IsOpen(); // <20>̹<EFBFBD> <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD><D6B4><EFBFBD> <20><><EFBFBD>ɴ<EFBFBD>.
|
||||
void Close(); // <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ݴ´<DDB4>.
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD≯<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ũ<>⸦ <20>ش<EFBFBD>.
|
||||
bool GetFileSize(unsigned long& dwLowSize, unsigned long& dwHighSize);
|
||||
|
||||
private:
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> <20>並 <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
|
||||
void* GetFileView(DWORD dwLowPosition,
|
||||
DWORD dwHighPosition = 0, DWORD dwMappingSize = 0);
|
||||
|
||||
static bool FlushFileView(void* lpView, DWORD dwBytesToFlush); // <20><><EFBFBD><EFBFBD> <20>並 Flush<73>Ѵ<EFBFBD>.
|
||||
static bool CloseFileView(void* lpView); // <20><><EFBFBD><EFBFBD> <20>並 <20>ݴ´<DDB4>.
|
||||
|
||||
HANDLE m_hFile;
|
||||
HANDLE m_hMap;
|
||||
DWORD m_dwFileViewMode;
|
||||
|
||||
friend class CFileMappedView;
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user