Blame | Last modification | View Log | RSS feed
/*****************************************************************************clsFILE-------This is a class for handling files and memory maps of them.by yodaWWW: y0da.cjb.netE-mail: LordPE@gmx.netYou are allowed to use this source code in your own projects if you mentionmy name.*****************************************************************************/#ifndef __File_h__#define __File_h__#include <windows.h>//// constants//// modes for GetFileHandle#define F_OPENEXISTING_R 0#define F_OPENEXISTING_RW 1#define F_CREATENEW 2#define F_TRUNCATE 3//// clsFILE class//class clsFILE{public:clsFILE();~clsFILE();BOOL GetFileHandle(char *szFilePath, DWORD dwMode);BOOL GetFileHandleWithMaxAccess(char* szFilePath);BOOL Destroy();void InitVars();HANDLE GetHandle();BOOL IsFileReadOnly();BOOL MapFile();void* GetMapPtr();BOOL UnmapFile();BOOL ReMapFile(DWORD dwNewSize);DWORD GetMapSize();BOOL IsMapped();DWORD GetFSize();BOOL FlushFileMap();static BOOL FileExists(char* szFilePath);char* GetFilePath();BOOL Write(void* pBuff, DWORD dwc);BOOL Read(void* pBuff, DWORD dwc);BOOL SetFPointer(DWORD dwOff);BOOL Truncate();void SetMapPtrSize(void* ptr, DWORD dwSize);private:DWORD dwMapSize;void *pMap;BOOL bReadOnly;HANDLE hFile;char cFilePath[MAX_PATH];};#endif