65 lines
1.5 KiB
C++
65 lines
1.5 KiB
C++
|
#ifndef __FILEIO_HPP__
|
|||
|
#define __FILEIO_HPP__
|
|||
|
|
|||
|
class CMBFTFile
|
|||
|
{
|
|||
|
protected:
|
|||
|
|
|||
|
HANDLE m_FileHandle;
|
|||
|
DWORD m_LastIOError;
|
|||
|
char m_szFileName[_MAX_PATH];
|
|||
|
char m_szTempDirectory[_MAX_PATH];
|
|||
|
|
|||
|
private:
|
|||
|
enum OpenModeFlags
|
|||
|
{
|
|||
|
FDW_Read = 0x0001,
|
|||
|
FDW_Write = 0x0002,
|
|||
|
FDW_Create = 0x0010,
|
|||
|
FDW_RDeny = 0x0100,
|
|||
|
FDW_WDeny = 0x0200
|
|||
|
};
|
|||
|
|
|||
|
public:
|
|||
|
enum OpenMode
|
|||
|
{
|
|||
|
OpenReadOnly = FDW_Read,
|
|||
|
OpenReadWrite = FDW_Read|FDW_Write,
|
|||
|
OpenBinary = 0,
|
|||
|
CreateReadOnly = FDW_Read|FDW_Create,
|
|||
|
CreateWrite = FDW_Write|FDW_Create,
|
|||
|
CreateReadWrite = FDW_Write|FDW_Read|FDW_Create,
|
|||
|
ShareExclusive = FDW_RDeny|FDW_WDeny,
|
|||
|
ShareDenyNone = 0,
|
|||
|
ShareDenyRead = FDW_RDeny,
|
|||
|
ShareDenyWrite = FDW_WDeny,
|
|||
|
};
|
|||
|
|
|||
|
enum SeekMode
|
|||
|
{
|
|||
|
SeekFromBegin = 0,
|
|||
|
SeekFromCurrent = 1,
|
|||
|
SeekFromEnd = 2
|
|||
|
};
|
|||
|
|
|||
|
CMBFTFile();
|
|||
|
~CMBFTFile();
|
|||
|
|
|||
|
BOOL Open(LPCSTR lpszFileName,unsigned iOpenMode);
|
|||
|
BOOL Close(BOOL status=TRUE);
|
|||
|
BOOL Create(LPCSTR lpszDirName, LPCSTR lpszFileName);
|
|||
|
BOOL DeleteFile(void);
|
|||
|
LONG Seek(LONG lOffset,int lFromWhere);
|
|||
|
ULONG Read(LPSTR lpszBuffer, ULONG iNumBytes);
|
|||
|
BOOL Write(LPCSTR lpszBuffer, ULONG iNumBytes);
|
|||
|
LONG GetFileSize(void);
|
|||
|
time_t GetFileDateTime(void);
|
|||
|
BOOL SetFileDateTime(time_t FileDateTime);
|
|||
|
LPCSTR GetTempDirectory(void);
|
|||
|
LPCSTR GetFileName(void) { return m_szFileName; }
|
|||
|
int GetLastErrorCode(void);
|
|||
|
BOOL GetIsEOF();
|
|||
|
};
|
|||
|
|
|||
|
#endif //__FILEIO_HPP__
|
|||
|
|